【发布时间】:2015-03-24 22:24:35
【问题描述】:
我想将两个查询合并为一个完整的查询。我需要将两个查询分组在一个聚合字段 (MFG) 上。我假设您使用JOIN,但它在同一张桌子上并使用CASE,所以我不确定它是如何工作的。
第一次查询(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
第二次查询(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
【问题讨论】:
标签: mysql select join merge union