![](/img/trans.png)
[英]How to combine rows with same ID but different values in certain columns in mysql
[英]How to Combine 2 rows with different values in different column
我想合并具有相同日期的两行,但在不同的列中具有不同的值。 像这样:
tgl qty_NEW MIO M3 125 CW-OTR qty_NEW-SOUL-GT-125-OTR
---------- ------------------------- -------------------------
2016-05-01 0 0
2016-05-02 0 0
2016-05-05 0 0
2016-05-09 0 0
2016-05-10 2 0
2016-05-10 0 1
与2016-05-10相同,值分别为2-0和0-1。
我想要的是这样的:
tgl qty_NEW MIO M3 125 CW-OTR qty_NEW-SOUL-GT-125-OTR
---------- ------------------------- -------------------------
2016-05-01 0 0
2016-05-02 0 0
2016-05-05 0 0
2016-05-09 0 0
2016-05-10 2 1
我使用的查询是这样的:
SELECT DISTINCT DATE(m.tgl_fj) AS tgl ,
CASE brg.nama_brg WHEN 'NEW MIO M3 125 CW-OTR' THEN SUM(d.qty) ELSE '0' END AS 'qty_NEW MIO M3 125 CW-OTR' ,
CASE brg.nama_brg WHEN 'NEW-SOUL-GT-125-OTR' THEN SUM(d.qty) ELSE '0' END AS 'qty_NEW-SOUL-GT-125-OTR'
FROM tb_mt_fj m
LEFT OUTER JOIN tb_dt_fj_brg d
ON m.ucode_fj=d.ucode_fj
LEFT OUTER JOIN tb_m_brg brg
ON d.ucode_brg=brg.ucode_brg
LEFT OUTER JOIN tb_m_grp_brg grp
ON brg.ucode_grp_brg=grp.ucode_grp_brg
WHERE brg.ucode_grp_brg='11040000000089' AND MONTH(m.tgl_fj)=MONTH(NOW())
GROUP BY DATE(m.tgl_fj), brg.nama_brg
ORDER BY DATE(m.tgl_fj)
那么,如何使查询结果与我想要的相同?
这个查询应该做到
select tgl, sum(qty_NEW MIO M3 125 CW-OTR) as `left`, sum(qty_NEW-SOUL-GT-125-OTR) as `right` from `table` group by tgl
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.