Ciao.
Ho due tabelle relative a chiamate che contengono gli stessi campi: Durata, Costo, Tipo, Reparto.
Riporto un esempio:
Vorrei estrarre tutti i dati, sommando quelli relativi a Durata,Costo e numero raggruppandoli per Tipo, ottenendo un ResultSet come il seguente: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 | --------------------------------------------------------------------------
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:
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 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;
Ma così mi somma tutto; non riesco ad andare oltre e ci sto diventando matto.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;
Qualcuno sa aiutarmi?
Grazie in anticipo.

Rispondi quotando