Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di erin
    Registrato dal
    Sep 2000
    Messaggi
    398

    [SQL] Problema Distinct su due Tabelle

    Nella seguente query mi vengono tirati fuori tutti i prodotti che vengono ripetuti per tutte le taglie e colori, io vorrei solo un prodotto con il primo colore che trova e la prima taglia che trova.
    In pratica in parole povere vorrei fare una distinct sull'ID del prodotto, ma la distinct non mi funziona perchè nella select ci sono altri campi diversi tra di loro ma sullo stesso id prodotto.
    Ho reso l'idea?

    LA QUERY:
    SELECT p.id, i.titolo, c.categoria as des_categorie, cp.colore, tp.taglia
    FROM prodotti p, immagini i, categorie c, taglia_prodotto tp, colori_prodotto cp
    WHERE p.id = i.prodotti and p.categoria = 9 and p.categoria = c.id and p.id = tp.prodotto and p.id = cp.prodotto
    ORDER BY p.id DESC

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    328
    Beh, se non ti importa niente degli altri campi, ma ne vuoi visualizzare uno qualsiasi afferente a quell'id, puoi provare con una group by:

    codice:
    SELECT 
    p.id, MIN(i.titolo), 
    MIN(c.categoria) as des_categorie, MIN(cp.colore), 
    MIN(tp.taglia) 
    FROM 
    prodotti p, immagini i, 
    categorie c, taglia_prodotto tp, 
    colori_prodotto cp 
    WHERE 
    p.id = i.prodotti 
    and p.categoria = 9 
    and p.categoria = c.id 
    and p.id = tp.prodotto 
    and p.id = cp.prodotto
    GROUP BY p.id
    ORDER BY p.id DESC
    Il programmatore lo vedi dal coraggio, dall'altruismo, dalla fantasia...

  3. #3
    Utente di HTML.it L'avatar di erin
    Registrato dal
    Sep 2000
    Messaggi
    398
    MItico, sembra funzionare
    Sei un GRANDE MAGO
    GRAZIE

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 © 2024 vBulletin Solutions, Inc. All rights reserved.