Salve mi date una mano x favore, ho queste tabelle:
codice:CREATE TABLE IF NOT EXISTS `setup_lingua` ( `SETUP_LINGUA_id` bigint(10) NOT NULL AUTO_INCREMENT, `SETUP_LINGUA_etichetta` varchar(100) NOT NULL, `SETUP_LINGUA_nome` varchar(100) NOT NULL, `SETUP_LINGUA_posizione` bigint(20) NOT NULL DEFAULT '0', `SETUP_LINGUA_pubblicato` int(1) NOT NULL DEFAULT '0', PRIMARY KEY (`SETUP_LINGUA_id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1;inserisco una news e scelgo la lingua di riferimento;codice:CREATE TABLE IF NOT EXISTS `news` ( `NEWS_id` bigint(10) NOT NULL AUTO_INCREMENT, `SETUP_LINGUA_id` bigint(10) NOT NULL DEFAULT '0', `NEWS_titolo` varchar(100) DEFAULT NULL, `NEWS_testo` text, `NEWS_datatime` datetime DEFAULT NULL, `NEWS_pubblicato` int(1) NOT NULL DEFAULT '0', `NEWS_posizione` bigint(10) NOT NULL DEFAULT '0', PRIMARY KEY (`NEWS_id`,`SETUP_LINGUA_id`), KEY `SETUP_LINGUA_id` (`SETUP_LINGUA_id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1; ALTER TABLE `news` ADD CONSTRAINT `news-lingua` FOREIGN KEY (`SETUP_LINGUA_id`) REFERENCES `setup_lingua` (`SETUP_LINGUA_id`) ON DELETE CASCADE ON UPDATE NO ACTION;
ho bisogno di una query che estrae TUTTE le lingue DIVERSE da quelle gia inserite.
se faccio una query così
vengono visualizzate tutte le lingue inserite. ma se al posto di = nella join metto <> non funziona. mi da tutte le lingue di cui due volte quelle mancanti.codice:SELECT setup_lingua.SETUP_LINGUA_id, setup_lingua.SETUP_LINGUA_nome, setup_lingua.SETUP_LINGUA_etichetta FROM news INNER JOIN setup_lingua ON (news.SETUP_LINGUA_id = setup_lingua.SETUP_LINGUA_id) WHERE news.NEWS_id = 'mio id' AND setup_lingua.SETUP_LINGUA_pubblicato ORDER BY SETUP_LINGUA_posizione
un'aiuto? Grazie

Rispondi quotando