SELECT saleorderdate , SUM(CASE WHEN PaymentType = 'à§Ô¹Ê´' then totalamt end) as cashamt, SUM(CASE when PaymentType = 'â͹à§Ô¹' then totalamt end) as transferamt, SUM(CASE when paymentType = 'Í×è¹æ' then totalamt end) as sharedamt, SUM(CASE when paymentType = 'grab' then totalamt end) as grabamt, SUM(CASE when paymentType = 'foodpanda' then totalamt end) as foodpandaamt FROM tmp group by saleorderdate UPDATE saleorder xx join (SELECT saleorderdate , SUM(CASE WHEN PaymentType = 'à§Ô¹Ê´' then totalamt end) as cashamt, SUM(CASE when PaymentType = 'â͹à§Ô¹' then totalamt end) as transferamt, SUM(CASE when paymentType = 'Í×è¹æ' then totalamt end) as sharedamt, SUM(CASE when paymentType = 'grab' then totalamt end) as grabamt, SUM(CASE when paymentType = 'foodpanda' then totalamt end) as foodpandaamt FROM tmp group by saleorderdate) yy on xx.SaleOrderDate = yy.saleorderdate set xx.CashAmt = yy.cashamt , xx.TransferAmt = yy.transferamt, xx.SharedAmt = yy.sharedamt, xx.GrabAmt = yy.grabamt, xx.FoodpandaAmt = yy.foodpandaamt;