ich eine SQL-Abfrage wie folgt aussehen:Wie kann ich aggregieren Daten basierend auf Unterabfrageergebnisse
SELECT (SUM(DURATIONSECS)/3600.00) AS LaborHrs,
(SELECT LABORLEV2 t2 FROM LABOR WHERE LABORID = t1.LABORID) As Dept
FROM Table1 t1
WHERE DTM BETWEEN 'datetime1' AND 'datetime2' AND
(SELECT LABORLEV1 FROM LABOR WHERE LABORID = t1.LABORID) = '100'
AND PAYCODEID='1'
Group BY LABORID
Das gibt mir die richtigen Daten wie folgt aus:
LaborHrs Dept
90.5000000 office
1033.2500000 retail
522.2500000 retail
217.5000000 misc
1145.5000000 misc
40.0000000 retail
Jedoch habe ich die Ergebnisse müssen Wenn der Name der Abteilung gleich ist, muss ich die Summe aller Arbeitsstunden von "Einzelhandel" und "Verschiedenes" in derselben Spalte angeben. Ich habe versucht, nach Abteilung zu gruppieren, aber es hat diesen Spaltennamen nicht erkannt.
GROUP BY funktioniert nur, wenn die Spalte Sie ausgewählt ist bereits verfügbar über die FROM-Klausel, daher müssen Sie es beitreten. – DVT