Supponiamo che io abbia la seguente query:

codice:
  select d.codice_commessa, d.periodo, sum(d.giorni_lavorati * d.costo_giornaliero)
    from dipendente d
   where d.data_inizio_lavoro >= '01/01/2005'
   group by d.codice_commessa, d.periodo
union
  select c.codice_commessa, c.periodo, sum(c.giorni_lavorati * c.costo_giornaliero)
    from consulente c
   where d.data_inizio_lavoro >= '01/01/2005'
   group by c.codice_commessa, c.periodo
Supponiamo che essa mi ritorna i seguenti record:

codice:
1 Query:
   codice_commessa: 201020
   periodo: 200501
   costo_gg: 150,12

2 Query:
   codice_commessa: 201020
   periodo: 200501
   costo_gg: 130,50
A prima vista si vedrebbero due righe duplicate, per lo stesso periodo e lo stesso codice_commessa (a differenza del costo_gg).
Io invece vorrei ottenere una sola riga, effettuando quindi dall'estrazione dei due record il raggruppamento degli stessi, per codice_commessa e per periodo distinguendo su due colonne il costo_gg totale, quindi il seguente risultato:

codice:
Risultato finale:
   codice_commessa: 201020
   periodo: 200501
   costo_gg_dipendente : 150,12
   costo_gg_consulente : 130,50
Mi date una mano che mi ci sto intrippando da un po'!!!!