query di selezione

ciao a tutti,

ho un problema con una query di selezione dati:

ho due tabelle fatte cosi:

contenuti:  id | title ....

estensioni: contentid | externalid

dove id è uguale a contentid

i dati di questa tabella estensioni sono del tipo:

CONTENTID | EXTERNALID

3                 | 1

3                 | 11

5                 | 2

14               | 1

14               | 11

18               | 1

19               | 1

20               | 11

dalla query devo estrarre tutti i contenuti che hanno sia externalid 11 che 1.

dovrei ottentere come risultato dell'esempio qui sopra id=3 e id=14

SELECT a.id

 FROM contenuti AS a

 LEFT JOIN estensioni AS e ON e.contentid = a.id

 WHERE a.state = '1'

 AND (e.externalid='11' OR e.externalid='1')

 ORDER BY a.created DESC

qualcosa non va nella mia query in quanto stampa tutti i contenuti che hanno externalid='11' o externalid='1'....mi dite come posso modificare la query perchè prenda SOLO gli id che hanno come externalid='11' E externalid='1'.

grazie

inviato 8 anni fa
stellina
X 0 X

Prova a fare due volte il JOIN con estensioni (non il LEFT JOIN). Ovviamente dovrai usare degli alias differenti, ad esempio e1 ed e2. Nella WHERE poi metti una clausola del tipo:

 AND e1.externalid='11' AND e2.externalid='1'

 :bye:

risposto 8 anni fa
Gianni Tomasicchio
X 0 X

grazie è quello che ho fatto e guistamente funziona :-)

risposto 8 anni fa
stellina
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda