PDA

View Full Version : [SQL] Aiuto con query group by


sYSTEM32
14-11-2015, 01:17
Ciao ragazzi avrei bisogno di una mano per costruire una query che a partire da una tabella di questo tipo:

userid dataora_start durata nota
marco 01/01/2015 10:00 20 lavoro
marco 01/01/2015 12:00 30 briefing
lucas 08/01/2015 10:00 15 lavoro

tiri fuori una tabella di questo tipo (per ogni riga la somma dei secondi di pausa di quel giorno con relativa nota):
utente start_data lavoro briefing
marco 01/01/2015 20 30
lucas 08/01/201 15 0

ovviamente le note possibili sono standard. Si puo fare?

malatodihardware
14-11-2015, 19:35
Ciao,
sono standard nel senso che sono 10 e puoi fare un where direttamente per colonna oppure sono standard nel senso che sono fisse ma di molte tipologie?

sYSTEM32
14-11-2015, 20:54
nel senso che sono 4 e non cambiano, se dovessero cambiare al massimo adatteró la query

malatodihardware
15-11-2015, 11:00
SELECT T1.userid, T1.Data, SUM(T1.Lavoro) AS Lavoro, SUM(T1.Briefing) AS Briefing FROM
(
SELECT userid, CAST(dataora_start AS DATE) AS Data,
ISNULL((SELECT Durata FROM Test.dbo.Table1 WHERE nota = 'lavoro' AND userid = Temp1.userid AND dataora_start = Temp1.dataora_start),0) AS Lavoro,
ISNULL((SELECT Durata FROM Test.dbo.Table1 WHERE nota = 'briefing' AND userid = Temp1.userid AND dataora_start = Temp1.dataora_start),0) AS Briefing
FROM Test.dbo.Table1 AS Temp1
) AS T1
GROUP BY T1.userid, T1.Data
Su Microsoft SQL Server funziona, se usi MySQL o un altro DB può essere che devi modificare qualcosa..