ho 3 tabelle, la cui struttura è:
codice:
-- 
-- Struttura della tabella `CATEGORIE`
-- 

CREATE TABLE `CATEGORIE` (
  `CATEGORIA_ID` int(10) unsigned NOT NULL auto_increment,
  `CATEGORIA` varchar(255) default NULL,
  `META` text,
  `NUOVO` char(1) NOT NULL default 'N',
  PRIMARY KEY  (`CATEGORIA_ID`)
) TYPE=MyISAM AUTO_INCREMENT=9 ;

-- --------------------------------------------------------

-- 
-- Struttura della tabella `PRODOTTI`
-- 

CREATE TABLE `PRODOTTI` (
  `PRODOTTO_ID` int(10) unsigned NOT NULL auto_increment,
  `PREZZO` double unsigned NOT NULL default '0',
  `MARCA_ID` int(10) unsigned NOT NULL default '0',
  `CATEGORIA_ID` int(10) unsigned NOT NULL default '0',
  `FAMIGLIA_ID` int(10) unsigned NOT NULL default '0',
  `MODELLO` varchar(100) default NULL,
  `TESTO_HTML` text,
  `PRODUZIONE_ANNO` varchar(20) default NULL,
  `CODICE` varchar(50) NOT NULL default '',
  PRIMARY KEY  (`PRODOTTO_ID`)
) TYPE=MyISAM AUTO_INCREMENT=37 ;

-- --------------------------------------------------------

-- 
-- Struttura della tabella `PRODOTTI_IMG`
-- 

CREATE TABLE `PRODOTTI_IMG` (
  `PRODOTTO_IMG_ID` int(10) unsigned NOT NULL auto_increment,
  `PRODOTTO_ID` int(10) unsigned NOT NULL default '0',
  `IMG_DEFAULT` char(1) NOT NULL default 'N',
  PRIMARY KEY  (`PRODOTTO_IMG_ID`)
) TYPE=MyISAM AUTO_INCREMENT=11 ;
quello che dovrei ottenere è la lista dei prodotti e l'imamgine in cui IMG_DEFAULT vale 'Y'
dove l'immagine di default non esiste deve comunque tirarmi fuori il record ma con un valore ovviamente nullo. Io ho fatto questa query:
codice:
SELECT M.MARCA, P.CATEGORIA_ID, P.PRODOTTO_ID, P.MODELLO, P.PREZZO, 
PI.PRODOTTO_IMG_ID FROM PRODOTTI P LEFT OUTER JOIN MARCHE M ON 
P.MARCA_ID=M.MARCA_ID RIGHT OUTER JOIN PRODOTTI_IMG PI ON 
P.PRODOTTO_ID=PI.PRODOTTO_ID WHERE CATEGORIA_ID=6 AND IMG_DEFAULT='Y'
ORDER BY M.MARCA, P.MODELLO, P.PREZZO
ma il risultato che ne ottengo è che mi estrae i prodotti giusti, ma nella colonna PRODOTTO_IMG_ID mi ritrovo sempre un valore reale anche quando questo non esiste...
sto provando i vari tipi di JOIN, ma non ne vengo a capo. Sapete dirmi dove sbalgio nel ragionamento?



Grazie mille!