2016-06-06 12 views
1

In einer SQL-Anweisung muss ich die gleiche Spalte dreimal mit drei verschiedenen Bedingungen abfragen. Ich brauche die Summe von CC.HR1 * WLL17.Hours angezeigt für alle Standorte, aber mit drei verschiedenen Bedingungen. Ich habe versucht, eine Unterabfrage in der SELECT-Anweisung, aber dann bekomme ich nur die Gesamtsumme und nicht die Summe nach Standort gruppiert.Wie die gleiche Spalte dreimal mit drei verschiedenen Bedingungen abfragen?

SELECT WLL17.Location, (SELECT SUM(CC.HR1*WLL17.Hours) FROM WLL17 INNER JOIN CC ON WLL17.CC=CC.CC WHERE WLL17.EE = "Post Gate 60 (PV)") AS Plant 
FROM WLL17 INNER JOIN CC ON WLL17.CC = CC.CC 
WHERE WLL17.CC<>"Outsourced Costs" 
GROUP BY WLL17.Location; 
+0

Ist dies auf SQL oder MS-ACCESS? –

Antwort

1

Versuchen Sie, dieser Strategie zu folgen.

SELECT WLL17.Location, 
    SUM(case when WLL17.EE = "Post Gate 60 (PV)" then CC.HR1*WLL17.Hours else null end) AS Plant,   
    SUM(case when WLL17.CC<>"Outsourced Costs" then CC.HR1*WLL17.Hours else null end) AS Location_Name1, 
    SUM(case when [Write condition here] then CC.HR1*WLL17.Hours else null end) AS Location_Name2 
FROM WLL17 INNER JOIN CC ON WLL17.CC = CC.CC 
GROUP BY WLL17.Location; 
Verwandte Themen