PDA

View Full Version : [SQL] Unire colonne da tabelle diverse


s1m0_93
13-05-2011, 18:10
Ho un Db Access con queste tabelle

Ordini
ID_Ordine
Nome_Cliente
Numero_Biglietto
Data
Orario
Stato

Ordini_Dettaglio
ID_Dettaglio
ID_Ordine
ID_Prodotto
Quantita
Prezzo_Totale

Prodotti
ID_Prodotto
ID_Categoria
Nome
Prezzo
Note
Aggiunte

Categorie
ID_Categoria
Nome
Sigla




Quello che avrei intenzione di è fare è di mostrare una tabella che contiene i campi


Categorie.Sigla
Prodotti.Nome
Prodotti.Prezzo
Ordine_Dettaglio.Quantita
Ordine_Dettaglio.Prezzo_Totale
Prodotti.Aggiunte


di tutti i prodotti contenuti in Ordini_Dettaglio e che appartengono a un certo ID_Ordine.

Sto provando da diverso tempo, ma non riesco a concludere nulla, riuscite a darmi un aiuto?

zuper
13-05-2011, 18:25
Ho un Db Access con queste tabelle

Ordini
ID_Ordine
Nome_Cliente
Numero_Biglietto
Data
Orario
Stato

Ordini_Dettaglio
ID_Dettaglio
ID_Ordine
ID_Prodotto
Quantita
Prezzo_Totale

Prodotti
ID_Prodotto
ID_Categoria
Nome
Prezzo
Note
Aggiunte

Categorie
ID_Categoria
Nome
Sigla




Quello che avrei intenzione di è fare è di mostrare una tabella che contiene i campi


Categorie.Sigla
Prodotti.Nome
Prodotti.Prezzo
Ordine_Dettaglio.Quantita
Ordine_Dettaglio.Prezzo_Totale
Prodotti.Aggiunte


di tutti i prodotti contenuti in Ordini_Dettaglio e che appartengono a un certo ID_Ordine.

Sto provando da diverso tempo, ma non riesco a concludere nulla, riuscite a darmi un aiuto?

http://www.w3schools.com/sql/sql_join.asp
partiamo da qui che è spiegato bene :)
se nn va posta esempio di cosa stai scrivendo che ci diamo un occhio :)

s1m0_93
13-05-2011, 18:34
Beh, una delle prime query che ho provato prima è stata questa



SELECT
Prodotti.Nome,
Prodotti.Prezzo,
Prodotti.Aggiunte

From Prodotti

INNER JOIN Ordini_Dettaglio
ON Prodotti.ID_Prodotto = Ordini_Dettaglio.ID_Prodotto

WHERE Ordini_Dettaglio.ID_Ordine = 8;





In pratica io voglio selezionare tutti i prodotti di una particolare ordinazione.
Con la query qui sopra, sono riuscito a estrapolare i campi Nome, Prezzo e Aggiunte di tutti i prodotti dell'ordinazione con ID = 8.
Ora vorrei però mostrare ancora i campi


Categorie.Sigla
Ordine_Dettaglio.Quantita
Ordine_Dettaglio.Prezzo_Totale



dei prodotti selezionati, nell'ordine che ho indicato nel post iniziale.

zuper
13-05-2011, 18:44
select
a.prodotti,
b.prezzo,
c.quellochevuoi

from
tabella_prodotti a,
tabella_prezzo b,
tabella_quellochevuoi c

where
a.id=b.id,
a.id=c.id

ecc ecc :)

s1m0_93
13-05-2011, 21:57
Ho risolto così:


SELECT
Categorie.Sigla,
Prodotti.Nome,
Prodotti.Prezzo,
Ordini_Dettaglio.Quantita,
Ordini_Dettaglio.Totale,
Prodotti.Aggiunte
FROM
(Prodotti
INNER JOIN Categorie
ON Prodotti.ID_Categoria = Categorie.ID_Categoria)
INNER
JOIN Ordini_Dettaglio
ON Prodotti.ID_Prodotto = Ordini_Dettaglio.ID_Prodotto;