Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di wino_7
    Registrato dal
    Dec 2006
    Messaggi
    537

    [MySql] Estrarre dati da più tabelle

    Salve a tutti devo creare una query che mi tiri fuori dei risultati da più tabelle.

    Mi spiego meglio con un esempio :

    Codice PHP:
    CREATE TABLE IF NOT EXISTS `candidato` (
      `
    idint(10unsigned NOT NULL AUTO_INCREMENT,
      `
    emailvarchar(50NOT NULL,
      `
    passwordvarchar(100NOT NULL,
      `
    confermavarchar(150NOT NULL,
      
    PRIMARY KEY (`id`),
      
    UNIQUE KEY `email` (`email`)
    ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=;


    CREATE TABLE IF NOT EXISTS `profilo` (
      `
    idint(10unsigned NOT NULL AUTO_INCREMENT,
      `
    idCandidatoint(10unsigned NOT NULL,
      `
    nomevarchar(40NOT NULL,
      `
    cognomevarchar(40NOT NULL,
      `
    dataNascitadate DEFAULT NULL,
      `
    sessovarchar(10NOT NULL,
      `
    regionevarchar(50) DEFAULT NULL,
      `
    provinciavarchar(50) DEFAULT NULL,
      `
    cittavarchar(50) DEFAULT NULL,
      `
    telefonovarchar(30) DEFAULT NULL,
      `
    faxvarchar(30) DEFAULT NULL,
      `
    titoloStudiovarchar(40) DEFAULT NULL,
      `
    situazioneAttualevarchar(50) DEFAULT NULL,
      `
    settoreInteressevarchar(70) DEFAULT NULL,
      `
    presentazionetext,
      `
    sitoWebvarchar(255) DEFAULT NULL,
      `
    pathFotovarchar(100) DEFAULT NULL,
      
    PRIMARY KEY (`id`)
    ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=;


    CREATE TABLE IF NOT EXISTS `istruzione` (
      `
    idint(10unsigned NOT NULL AUTO_INCREMENT,
      `
    idCurriculumint(10unsigned NOT NULL,
      `
    nomeSchedavarchar(70NOT NULL,
      `
    titoloStudiovarchar(50NOT NULL,
      `
    istitutoErogantevarchar(70NOT NULL,
      `
    votovarchar(10NOT NULL,
      `
    dataConseguimentodate DEFAULT NULL,
      
    PRIMARY KEY (`id`)
    ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=
    questa è la struttura delle tabelle.

    La query che mi serve può essere spiegata così :

    Seleziona tutti i candidati dello stesso sesso che hanno un'età compresa tra n ed m anni e che hanno un certo titolo di studio.

    La prima parte della query l'ho fatta così :

    SELECT id, nome FROM profilo WHERE dataNascita BETWEEN 'aaaa-mm-gg' AND 'aaaa-mm-gg' AND sesso = 'maschio'

    adesso devo aggiungerci quelli che hanno ad esempio il diploma

  2. #2
    devi usare la JOIN

    SELECT
    elenco_campi
    FROM
    tabella1 JOIN tabella2
    ON campo_di_tabella_1=corrispondente_campo_di_tabella _2
    JOIN tabella3
    ON campo_di_tabella_2=corrispondente_campo_di_tabella _3

    buon divertimento

  3. #3
    Utente di HTML.it L'avatar di wino_7
    Registrato dal
    Dec 2006
    Messaggi
    537
    Grazie tanto, il buon divertimento ci sta tutto, visto che qua ci sta da sbatterci la testa

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.