Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    [SQL] Unire prodotti agli attributi e selezione incrociata

    Ho le tabelle
    codice:
    PRODOTTI
    id|Nome     |Prezzo    |Descrizione
    1 |Portatile |150,00   |Computer portatile
    codice:
    CATEGORIE ATTRIBUTI
    id|Categoria attributo
    1 |RAM
    2 |Processore
    3 |Schermo
    codice:
    VALORI ATTRIBUTI
    id|id_categoria|Valore attributo
    1 |1              |256 MB
    2 |1              |512 MB
    3 |1              |1 GB
    4 |2              |Pentium 4
    5 |2              |AMD Athlon
    6 |3              |17" Whidescreen
    7 |3              |15" 4:9
    codice:
    RELAZIONE PRODOTTI ATTRIBUTI
    id|id_prodotto|id_attributo
    1 |1             |3
    2 |1             |5
    3 |1             |6
    Quindi seleziono gli articoli unendo le tabelle in questo modo (in questo esempio per selezionare
    articoli che montano il pentium 4 (Tabella valori attributi id = 4)
    Codice PHP:
    $query "SELECT FROM prodotti
                 LEFT JOIN relazione_prodotti_attributi AS rel ON rel.id_prodotto = prodotti.id
                 LEFT JOIN valori_attributi AS attr ON rel.id_attributo = attr.id
                 WHERE (--alcune mie condizioni--) AND attr.id = 4;"

    Fino a qui tutto a posto, mi ritorna i portatili che montano i pentium 4 ma se provo a fare ua ricerca incrociata ad esempio i portatili con pentium 4 (id = 4) e schermo 17" whidescreen (id = 6), cioe':
    Codice PHP:
    $query "SELECT FROM prodotti
                 LEFT JOIN relazione_prodotti_attributi AS rel ON rel.id_prodotto = prodotti.id
                 LEFT JOIN valori_attributi AS attr ON rel.id_attributo = attr.id
                 WHERE (--alcune mie condizioni--) AND attr.id = 4 AND attr.id = 6;"

    questa query non ritorna nulla
    Devo forse far entrare in gioco anche la tabella CATEGORIE ATTRIBUTI?
    Quest'ultima la uso per organizzare gli attributi ed evitare che quando inserisco un attributo aad un'articolo non metto ad esempio che un portatile ha un processore pentium 4 ed un amd athlon
    Chi mi puo' aitare please???
    MiServe di Santino Bivacqua
    PHP/Ruby/Node.js Developer
    www.miserve.com

  2. #2
    Nessuno che possa aiutarmi? Avete dei consigli da darmi? Forse sono stato poco chiaro.
    MiServe di Santino Bivacqua
    PHP/Ruby/Node.js Developer
    www.miserve.com

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.