1
하나의 전체 쿼리로 두 개의 쿼리를 병합하려고합니다. 하나의 집계 필드 (MFG)에 그룹화하려면 두 개의 쿼리가 필요합니다. 나는 당신이 JOIN
을 사용한다고 가정 할 것이지만, 같은 테이블에 있고 CASE
과 함께 사용하면 어떻게 작동하는지 모르겠습니다.MySQL이 하나의 테이블에 CASE를 사용하여 두 개의 SELECT 쿼리를 병합했습니다.
1ST QUERY (2015)
SELECT
CASE
WHEN ITEM LIKE '%1%' THEN 'MFG1'
WHEN ITEM LIKE '%2%' THEN 'MFG2'
WHEN ITEM LIKE '%3%' THEN 'MFG3'
ELSE ''
END AS MFG,
SUM(COST) AS Cost2015
FROM
table
WHERE
TRANS_DATE BETWEEN '2015-12-01' AND '2015-12-31'
GROUP BY MFG
2ND QUERY (2014)
SELECT
CASE
WHEN ITEM LIKE '%1%' THEN 'MFG1'
WHEN ITEM LIKE '%2%' THEN 'MFG2'
WHEN ITEM LIKE '%3%' THEN 'MFG3'
ELSE ''
END AS MFG,
SUM(COST) AS Cost2014
FROM
table
WHERE
TRANS_DATE BETWEEN '2014-12-01' AND '2014-12-31'
GROUP BY MFG
원하는 결과
MFG | Cost2015 | Cost2014
MFG1 | 1500 | 0
MFG2 | 1000 | 1200
MFG3 | 0 | 3600
| 100 | 15
에 사용
CASE
이는 내가 처음 몇 작업 것으로 보인다 감사합니다, 내가 수락하기 전에 좀 더 테스트를 실행할 수 있습니다. – ToddN