2017-05-28 42 views
0

我想將具有相同日期的兩行組合,但在不同列中具有不同值。像這樣:如何在不同列中組合具有不同值的2行

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年5月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) 

那麼,如何使查詢結果,因爲我想的一樣?

+0

在組合的情況下,有沒有隻有1非零值?如果你有3行「2106-05-10」爲「2 - 0」,「0 - 1」和「2 - 3」?那麼你期望輸出什麼呢? – Utsav

+0

@Utsav如果3行,那麼有3個值'2-0-0','0-1-0','0-0-3'和輸出是'2-1-3' –

回答

0

這個查詢應該這樣做

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 
+0

謝謝,是工作 –

相關問題