case when then else end

  在工作中遇到,在一张表里,a、b两列数据根据a的条件不同,把b分成两列

本来使用的是联表查询,先各自查出来再联查 后来发现效率比较低 所以放弃了

之后使用了 case when的方法

sum(case when t3.lading_bill_status in ('10','20','30') then t3.lading_bill_wt else 0 end) as "ladingBillWt",
sum(case when t3.lading_bill_status in ('35','40') then T3.LADING_BILL_COMPLETE_WT else 0 end) as "ladingBillCompleteWt",

标红字段是想要被分类的值 如果想要算次数可以改成1

 

posted @ 2020-11-26 08:35  锦缇千羽  阅读(58)  评论(0)    收藏  举报