Problema query

  • Creatore Discussione Creatore Discussione Vicar
  • Data di inizio Data di inizio

Vicar

Utente Attivo
15 Gen 2010
48
0
0
Salve ragazzi, io ho 2 tabelle.

Ogni prodotto a più immagini e in questo modo ho una tabella contenente i prodotti e una contenente le immagini con chiave esterna l'id del prodotto.

Io vorrei prendere la lista di prodotti di una certa categoria con una immagine del prodotto.

Codice:
SELECT P.*,I.url FROM wv_products AS P LEFT JOIN wv_image AS I
ON I.product = P.ID
WHERE P.category=1

In questo modo mi prende tutto in modo corretto, anche se il prodotto non ha l'immagine.

Il problema di questa query è che se un prodotto ha più di una immagine il risultato sono 2 record e non uno.

Spero di essere stato chiaro.
A presto.
 
Vuoi o non vuoi che prenda i prodotti senza immagine?


1) Se vuoi che prenda anche i prodotti senza immagine:
Codice:
SELECT distinct P.*,I.url FROM wv_products AS P LEFT JOIN wv_image AS I ON I.product = P.ID
WHERE P.category=$categoria

Con la clausola distinct dovrebbe prendere il record solo una volta.

2) Se vuoi che NON prenda i prodotti senza immagine:
Codice:
SELECT distinct P.*,I.url FROM wv_products AS P INNER JOIN wv_image AS I ON I.product = P.ID
WHERE P.category=$categoria

prova perchè non le ho testate.
 
Ultima modifica:

Discussioni simili