2017-01-30 44 views
0

我有這樣的查詢:Mysql的,結合在同一個表的兩列

SELECT DISTINCT 
    m.ucode_outlet AS ucode_grup, 
    m.kode_outlet AS kode_grup, 
    ROUND(SUM(CASE 
       WHEN tot.ucode_jns_brg = '40004' THEN tot.tot_qty 
       ELSE 0 
      END), 
      2) AS 'qty_Jeruk', 
    ROUND(IFNULL(SUM(CASE 
         WHEN tot.ucode_jns_brg = '40004' THEN tot.tot_qty 
         ELSE 0 
        END)/SUM(tot.tot_qty) * 100, 
        0), 
      2) AS 'psn_Jeruk', 
    ROUND(SUM(CASE 
       WHEN tot.ucode_jns_brg = '40005' THEN tot.tot_qty 
       ELSE 0 
      END), 
      2) AS 'qty_Jeruk_Multi', 
    ROUND(IFNULL(SUM(CASE 
         WHEN tot.ucode_jns_brg = '40005' THEN tot.tot_qty 
         ELSE 0 
        END)/SUM(tot.tot_qty) * 100, 
        0), 
      2) AS 'psn_Jeruk_Multi', 
    ROUND(IFNULL(SUM(tot.tot_qty), 0), 2) AS total, 
    ROUND(IFNULL(SUM(tot.tot_qty)/SUM(tot.tot_qty) * 100, 
        0), 
      2) AS total_psn 
FROM 
    tb_m_outlet m 
     LEFT OUTER JOIN 
    tp_m_tot_survey tot ON tot.kode_grup = m.kode_outlet 
     AND tot.id_proc = 'C9C48EF838B76B415266C553B7FC6ECC' 
WHERE 
    m.ucode_div LIKE '%%' 
     AND m.kode_outlet LIKE '%' 
     AND m.nama_outlet LIKE '%' 
GROUP BY m.ucode_outlet , m.kode_outlet , m.nama_outlet 
ORDER BY m.kode_outlet 
LIMIT 0 , 25 

和這樣的結果: Query result

如何,如果我想qty_jeruk結合,qty_jeruk_multi是qty_jeruk ?

感謝

+0

按組合,你的意思是總和? – GurV

+1

'LIKE'%''幾乎是無用的條款。你的意思是「不是NULL」嗎? – tadman

+0

@GurV yes,sum qty_jeruk&qty_jeruk_multi –

回答

1

假設的結合,你的意思是兩列的總和爲一體,只需使用IN同時添加的GET和一列。

. . ., 
    ROUND(SUM(CASE 
       WHEN tot.ucode_jns_brg in ('40004','40005') THEN tot.tot_qty 
       ELSE 0 
      END), 
      2) AS 'qty_Jeruk', 
    . . .