Ciao, ho queste 3 tabelle:
CREATE TABLE `catalogow` (
`idx` int(11) NOT NULL auto_increment,
`cod` varchar(255) NOT NULL default '',
`idcategoria` int(11) NOT NULL default '0',
`idregione` int(11) NOT NULL default '0',
`etichetta` varchar(255) NOT NULL default '',
`cantina` varchar(255) NOT NULL default '',
`formato` decimal(4,3) NOT NULL default '0.000',
`annata` varchar(255) NOT NULL default '',
`prezzo` decimal(4,2) NOT NULL default '0.00',
`dsc_it` text NOT NULL,
`dsc_en` text NOT NULL,
PRIMARY KEY (`idx`)
) TYPE=MyISAM AUTO_INCREMENT=1098 ;
CREATE TABLE `categoriew` (
`idc` int(11) NOT NULL auto_increment,
`categoria` varchar(64) NOT NULL default '',
PRIMARY KEY (`idc`)
) TYPE=MyISAM AUTO_INCREMENT=19 ;
CREATE TABLE `regionisw` (
`idr` int(11) NOT NULL auto_increment,
`nomer` varchar(32) NOT NULL default '',
PRIMARY KEY (`idr`)
) TYPE=MyISAM AUTO_INCREMENT=52 ;
Ho questa query per estrapolarmi tutti i dati di un prodotto compresa la categoria e la regione che sono residenti nelle rispettive 2 tabelle:
$qsp = "SELECT catalogow.cod, catalogow.idcategoria, catalogow.idregione, catalogow.etichetta, catalogow.cantina,
catalogow.formato, catalogow.annata, catalogow.prezzo, catalogow.dsc_it, categoriew.categoria, regionisw.nomer
FROM catalogow, categoriew, regionisw
WHERE catalogow.idx='$_GET[id]' AND categoriew.idc=catalogow.idcategoria AND regionisw.idr=catalogow.idregione";
però se, ad esempio, l'id regione o l'id categoria sono a 0 sulla tabella catalogow non mi fa vedere il prodotto e questo penso sia dovuto alla clausola AND.
Io vorrei che mi facesse vedere i dati di quel prodotto anche se non sono stati imnpostati i valori per le tabelle esterne.
ho fatto un'altra query ma non va bene neanche questa poichè non mi estrae la regione anche se è presente sulla tab. regionisw:
SELECT catalogow.cod, catalogow.idcategoria, catalogow.idregione, catalogow.etichetta, catalogow.cantina,
catalogow.formato, catalogow.annata, catalogow.prezzo, catalogow.dsc_it, categoriew.categoria, regionisw.nomer
FROM catalogow LEFT JOIN categoriew, regionisw
ON categoriew.idc=catalogow.idcategoria AND regionisw.idr=catalogow.idregione
WHERE catalogow.idx='$_GET[id]'
In pratica vorrei che assieme ai dati del 'catalogow' mi estrapolasse anche le colonne delle 2 tabelle 'regionisw' e 'categoriew' sul singolo articolo.
Chiedo troppo?