Salve a tutti devo creare una query che mi tiri fuori dei risultati da più tabelle.
Mi spiego meglio con un esempio :
questa è la struttura delle tabelle.Codice PHP:CREATE TABLE IF NOT EXISTS `candidato` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`email` varchar(50) NOT NULL,
`password` varchar(100) NOT NULL,
`conferma` varchar(150) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `email` (`email`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=3 ;
CREATE TABLE IF NOT EXISTS `profilo` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`idCandidato` int(10) unsigned NOT NULL,
`nome` varchar(40) NOT NULL,
`cognome` varchar(40) NOT NULL,
`dataNascita` date DEFAULT NULL,
`sesso` varchar(10) NOT NULL,
`regione` varchar(50) DEFAULT NULL,
`provincia` varchar(50) DEFAULT NULL,
`citta` varchar(50) DEFAULT NULL,
`telefono` varchar(30) DEFAULT NULL,
`fax` varchar(30) DEFAULT NULL,
`titoloStudio` varchar(40) DEFAULT NULL,
`situazioneAttuale` varchar(50) DEFAULT NULL,
`settoreInteresse` varchar(70) DEFAULT NULL,
`presentazione` text,
`sitoWeb` varchar(255) DEFAULT NULL,
`pathFoto` varchar(100) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=3 ;
CREATE TABLE IF NOT EXISTS `istruzione` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`idCurriculum` int(10) unsigned NOT NULL,
`nomeScheda` varchar(70) NOT NULL,
`titoloStudio` varchar(50) NOT NULL,
`istitutoErogante` varchar(70) NOT NULL,
`voto` varchar(10) NOT NULL,
`dataConseguimento` date DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
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

Rispondi quotando
