Ciao.
Ho due tabelle relative a chiamate che contengono gli stessi campi: Durata, Costo, Tipo, Reparto.
Riporto un esempio:
codice:
tab1
--------------------------------------------------------------------------
Durata | Costo | Tipo | Reparto |
--------------------------------------------------------------------------
00:01:00 | 10 | Nazionali | Contabilità |
00:02:00 | 20 | Cellulari | Amministrazione |
00:03:00 | 30 | Nazionali | Amministrazione |
00:01:00 | 10 | Nazionali | Amministrazione |
00:02:00 | 20 | Cellulari | Magazzino |
--------------------------------------------------------------------------
tab2
--------------------------------------------------------------------------
Durata | Costo | Tipo | Reparto |
--------------------------------------------------------------------------
00:05:00 | 50 | Cellulari | Magazzino |
00:10:00 | 100 | Nazionali | Contabilità |
00:04:00 | 40 | Urbane | Magazzino |
--------------------------------------------------------------------------
Vorrei estrarre tutti i dati, sommando quelli relativi a Durata,Costo e numero raggruppandoli per Tipo, ottenendo un ResultSet come il seguente:
codice:
ResultSet
00:01:00 20 1 Amministrazione Cellulari
00:07:00 70 2 Magazzino Cellulari
00:04:00 40 2 Amministrazione Nazionali
00:11:00 110 2 Contabilita Nazionali
00:04:00 40 1 Magazzino Urbane
Per estrarre i dati da una sola tabella utilizzo questa query:
codice:
SELECT SEC_TO_TIME(SUM(TIME_TO_SEC(DATE_FORMAT(Durata,'%H:%i:%s')))),SUM(Costo),COUNT(Tipo),Tipo,Reparto FROM db.tab1 GROUP by Tipo,Reparto ORDER BY Tipo;
Non so come fare per estrarre i dati da entrambe le tabelle; per eseguire le somme ho pensato ad una cosa del genere:
codice:
SELECT (SUM(TIME_TO_SEC(DATE_FORMAT(c.Durata,'%H:%i:%s'))))+(SUM(TIME_TO_SEC(DATE_FORMAT(s.Durata,'%H:%i:%s')))),(SUM(c.Costo))+(SUM(s.Costo)),(COUNT(c.Tipo))+(COUNT(s.Tipo)) FROM db.tab1 c,db.tab2 s;
Ma così mi somma tutto; non riesco ad andare oltre e ci sto diventando matto.
Qualcuno sa aiutarmi?
Grazie in anticipo.