Visualizzazione dei risultati da 1 a 4 su 4

Discussione: sql particolare

  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    1,786

    sql particolare

    ciao,

    ho 2 tabelle composte così:

    associa:
    id_prodotto
    id_categoria

    prodotti:
    id_prodotto
    nome_prodotto


    tramite una INNER JOIN tiro fuori i prodotti in base alla categoria.

    tutto ok, un prodotto può essere inserito in più categorie.

    ora ho esigenza di tirare fuori con unica query una sola volta i prodotti presenti in più categorie.

    come posso fare ?

    questa la query che uso:

    SELECT p.nome_prodotto FROM prodotti p
    INNER JOIN associa a ON p.id_prodotto = a.id_prodotto
    WHERE a.id_categoria = 5

    ora ho l'esigenza di tirare fuori una sola volta i prodotti presenti nelle categorie es. 5,8,9 con unica query.

    come posso fare ?

    grazie !
    Ultima modifica di unreg; 09-01-2014 a 12:10
    [Scambio Links a Tema] Contattatemi in Privato x + Info.

  2. #2
    Domanda da sezione Database!!!

    codice:
    SELECT p.nome_prodotto FROM prodotti p
       INNER JOIN associa a ON p.id_prodotto = a.id_prodotto
       WHERE a.id_categoria IN (5, 8, 9)
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    1,786
    grazie di cuore.
    [Scambio Links a Tema] Contattatemi in Privato x + Info.

  4. #4
    Quote Originariamente inviata da satifal Visualizza il messaggio
    Domanda da sezione Database!!!

    codice:
    SELECT p.nome_prodotto FROM prodotti p
       INNER JOIN associa a ON p.id_prodotto = a.id_prodotto
       WHERE a.id_categoria IN (5, 8, 9)
    Dovresti anche solo aggiungere DISTINCT alla query per evitare duplicati; se uno stesso prodotto può stare in più categorie allora si potrebbero duplicare andando in join con la tabella ASSOCIA quindi con DISTINCT sistemi il problema:

    SELECT DISTINCT p.nome_prodotto FROM prodotti p
    INNER JOIN associa a ON p.id_prodotto = a.id_prodotto
    WHERE a.id_categoria IN (5, 8, 9)
    Se ti stai approcciando all'argomento database dai uno sguardo anche a: SQL, database relazionale, regole di Codd, modello E-R, forme normali, normalizzazione con il mio testo: Semplicemente Database

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.