Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Problema query

  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    500

    Problema query

    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.

  2. #2
    Utente di HTML.it L'avatar di homerbit
    Registrato dal
    Dec 2005
    residenza
    Roma
    Messaggi
    1,380
    prova con una right + limit 1 :
    codice:
    SELECT P.*,I.url FROM wv_products AS P RIGHT JOIN wv_image AS I
    ON I.product = P.ID
    WHERE P.category=1 LIMIT 1
    If you think your users are idiots, only idiots will use it. DropBox

  3. #3
    altrimenti

    codice:
    select P.*, (select url from wv_image where wv_image.product = P.ID limit 1) as url from wv_products as P where P.category = 1
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  4. #4
    Ricordavo di aver risposto a questo post. Solo che con i problemi che mi da la linea non è stata inviata la risposta.
    Prova in questo modo:
    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=1
    Aggiungendo la clausola distinct la query prenderà una lista formata da diversi prodotti aventi immagine e non.

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    500
    Grazie a tutti per le risposte.
    Funziona più che correttamente quella con la DISTINCT, mi ero dimenticato di tale clausola!

    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=1

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.