Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di arw
    Registrato dal
    Dec 2007
    Messaggi
    149

    sql server con union e raggruppamento

    Ciao a tutti!

    credo di essere nel pallone , però non ne vengo fuori...
    ho una query con delle union e il risultato che mi restitusce è corretto ma non è raggruppato come vorrei;

    la query è semplicemente cosi:
    codice:
    select idutente,cognome, nome, 
    round(cast(sum(...) as float)/60,2) as oraMattino,  ' ' as oraPomeriggio,  ' ' as oraSera from <tabella> where <condizione> gruop by idutente,cognome, nome
    union
    select idutente,cognome, nome, ' ' as oraMattino,  
    round(cast(sum(...) as float)/60,2) as oraPomeriggio,  ' ' as oraSera from <tabella> where <condizione> gruop by idutente,cognome, nome
    union
    select idutente,cognome, nome, ' ' as oraMattino,  ' ' as oraPomeriggio,  
    round(cast(sum(...) as float)/60,2) as oraSera from <tabella> where <condizione> gruop by idutente,cognome, nome
    
    order by idutente,cognome, nome

    e mi restituisce questo:

    123 rossi paolo 0 0 5
    123 rossi paolo 1 0 0
    123 rossi paolo 0 3 0
    456 bianchi michele 0 2 0
    456 bianchi michele 0 0 7



    vorrei avere come risultato semplicemente una riga per utente:

    123 rossi paolo 1 3 5
    456 bianchi michele 0 2 7


    come devo fare ?

  2. #2
    devi fare una select di raggruppamento esterna. esempio:

    SELECT nome, sum(campo) FROM

    (
    qui va la tua select...union attuale
    )

    GROUP BY nome

  3. #3
    Utente di HTML.it L'avatar di arw
    Registrato dal
    Dec 2007
    Messaggi
    149
    grazie grazie mille!!!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.