繁体   English   中英

如何在不同的列中合并具有不同值的2行

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM