|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
[mysql]select su molte tabelle
Ciao a tutti
Ho un database che dovrebbe gestire un parco auto. In questo database, ci sono diverse tabelle, tipo: anagraficaVetture - assicurazioni - rifornimentiMese - scadenze - riparazioni... tutte queste tabelle hanno in comune un campo di tipo intero che si chiama: id_vettura. Nelle tabelle come rifornimentiMese, scadenze, riparazioni, è presente un altro campo per l'identificazione del mese nel quale si inseriscono i dati. Quello che mi viene chiesto, è di tirar fuori un listato che mi raggruppi tutti questi dati in un'unica visuale di questo tipo: Codice:
//abbrevio per sintetizzare modello | targa | importoAssicurazione | totaleRifornimenti | totaleScadenze ------------------------------------------------------------------------- fiat 111 1.000,00 560.00 459.00 seat grazie RaouL.
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
|
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Scusa...e che ci sarebbe di complicato ? Si tratta di fare qualche group by id_vettore ed applicare la funzione di aggregazione Sum.
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
Ciao
Allora, per semplificare un pò le cose mi sono creato delle viste su alcune tabelle in modo da avere già il raggruppamento di alcuni dati. Quello che succede però quando vado ad effettuare la query complessiva, è che ottengo una marea di doppioni. La query è questa: Codice:
SELECT vetture.appartenenza, vetture.modello, vetture.targa, assicurazioni.importo, totalManutenzioniMese.totaleman, totalRifornimentiMese.TotaleEuro, totalScadenzeMeseNew.totalscad from vetture, assicurazioni, totalManutenzioniMese, totalRifornimentiMese, totalScadenzeMeseNew where vetture.id_vet = totalManutenzioniMese.id_vet and vetture.id_vet = assicurazioni.id_vet and vetture.id_vet = totalRifornimentiMese.id_vet and vetture.id_vet = totalScadenzeMeseNew.id_vet group by totalManutenzioniMese.id_mese, totalRifornimentiMese.id_mese, totalScadenzeMeseNew.id_mese Grazie RaouL.
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Aug 2005
Messaggi: 2755
|
prova con SELECT DISTINCT...
__________________
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
nulla, nel senso che non ho doppioni ma mi mancano una marea di risultati.
C'è qualcosa proprio nella logica che sto cercando di applicare che è totalmente sbagliata.
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
SELECT A.vettura_id, A.targa, A.modello, SommaAssicurazione, SomamScadenze, SommaRifornimenti FROM
(SELECT vetture.vettura_id, SUM(importo) AS SommaAssicurazione FROM vetture JOIN assicurazioni ON vetture.vettura_id = assicurazioni.vettura_id GROUP BY vetture.vettura_id) AS A JOIN (SELECT vetture.vettura_id, SUM(importo) AS SommaScadenze FROM vetture JOIN scadenze ON vetture.vettura_id = scadenze.vettura_id GROUP BY vetture.vettura_id) AS B ON A.vettura_id = B.vettura_id JOIN (SELECT vetture.vettura_id, SUM(importo) AS SommaRifornimenti FROM vetture JOIN rifornimenti ON vetture.vettura_id = rifornimenti.vettura_id GROUP BY vetture.vettura_id) AS C ON A.vettura_id = C.vettura_id; Ultima modifica di cionci : 29-02-2008 alle 14:38. |
|
|
|
|
|
#7 | |
|
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
Quote:
Grazie mille
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
|
|
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
E che c'è di difficile ? Sono 3 sotto query in cui si raggruppa e si fa la somma...e dopo si fa il JOIN delle sottoquery...
|
|
|
|
|
|
#9 | |
|
Senior Member
Iscritto dal: Mar 2002
Città: Italy/Usa
Messaggi: 2817
|
Quote:
un grosso saluto cionci Sono ospite di 'raoullino' ora ci penserò io a lui
__________________
"Utilizzando atomi pentavalenti drogheremo il silicio di tipo n; Utilizzando atomi trivalenti drogheremo il silicio di tipo p; Utilizzando della cannabis ci drogheremo noi e vedremo il silicio fare cose impossibili" - DSDT-HowTo |
|
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Ma ciao !!!
So che Raul è in buone mani Passa più spesso da queste parti |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 23:27.




















