2016-06-06 3 views
1

SQL 문에서 세 가지 조건으로 같은 열을 세 번 쿼리해야합니다. CC.HR1 * WLL17의 합계가 필요합니다. 모든 위치에 대해 표시되지만 세 가지 조건이 있습니다. 나는 SELECT 문에서 하위 쿼리를 시도했지만 총합과 합계가 위치별로 그룹화되지는 않습니다.세 가지 조건으로 동일한 열을 세 번 쿼리하는 방법은 무엇입니까?

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

SQL 또는 MS-ACCESS입니까? –

답변

1

이 전략을 따르십시오.

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; 
관련 문제