ciao a tutti, sarebbe possibile effettuare una inner join su tra tabelle di cui le prime due hanno una chiave primaria in comune e la seconda e la terza hanno una seconda chiave primaria in comune?
ciao a tutti, sarebbe possibile effettuare una inner join su tra tabelle di cui le prime due hanno una chiave primaria in comune e la seconda e la terza hanno una seconda chiave primaria in comune?
certo che si. ne e' anzi una condizione essenziale che ci siano questi riferimenti per costruire una JOIN.Originariamente inviato da ratlook
ciao a tutti, sarebbe possibile effettuare una inner join su tra tabelle di cui le prime due hanno una chiave primaria in comune e la seconda e la terza hanno una seconda chiave primaria in comune?
Anche se, cosi' come hai scritto, non e' possibile che la seconda tabella abbia 2 chiavi primarie.
tab1.id_PK = tab2.id_PK e tab2.id_altro = tab3.id_PK
Il silenzio è spesso la cosa migliore. Pensa ... è gratis.
in pratica nella prima tabella ci sono i campi:
- id
- id prodotto
- nome
- descrizione
nella seconda tabella ci sono i campi
- id (che corrisponde all'id prodotto della prima tabella)
- url immagine
- disponibilità
- peso prodotto
- id categoria
nella terza tabella ci sono i campi
- id (che corrisponde all'id categoria della seconda tabella)
- nome categoria
- descrizione categoria
io dovrei fare una query in cui per ogni prodotto ho id prodotto, nome, descrizione, url immagine, disponibilità, peso prodotto, nome categoria e descrizione categoria
pensi sia fattibile o devo gestirlo attraverso due inner join distinte?
certo che e' fattibile.
E la stessa cosa come fare:codice:select * from tab1 inner join tab2 ON tab1.id_prodotto = tab2.id inner join tab3 ON tab2.id.categoria = tab3.id
sono solo due differenti forme per eseguire una JOIN. La prima e' da preferire perche' piu' chiaramente leggibile e modificabile.codice:select * from tab1, tab2, tab3 where tab1.id_prodotto = tab2.id AND tab2.id.categoria = tab3.id
Ma siamo nel campo delle query sql e non nel php. Andrebbe nel forum database.
Il silenzio è spesso la cosa migliore. Pensa ... è gratis.
ok grazie, nel pom ci smanetto e vediamo che salta fuori!Originariamente inviato da piero.mac
certo che e' fattibile.
E la stessa cosa come fare:codice:select * from tab1 inner join tab2 ON tab1.id_prodotto = tab2.id inner join tab3 ON tab2.id.categoria = tab3.id
sono solo due differenti forme per eseguire una JOIN. La prima e' da preferire perche' piu' chiaramente leggibile e modificabile.codice:select * from tab1, tab2, tab3 where tab1.id_prodotto = tab2.id AND tab2.id.categoria = tab3.id
ops... chiedo scusa ai mod!Originariamente inviato da piero.mac
Ma siamo nel campo delle query sql e non nel php. Andrebbe nel forum database.![]()