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