需求是统计不同物料名称,不同颜色分类的库存数量,有一个标记出库、入库的字段State(0-入库 1-出库)
这里需要用到sum函数,使用Case when 能根据出库、入库来确定数量的增加或者减少,最后使用 group by
进行分组。
select Name as ‘物料名称’ , Color as ‘颜色’, sum(case when state=0 then number else -number end)as ‘库存数量’ from infor group by name,color
在sum函数里,当state=0时,sum(number),否则sum(-number)
最后使用group by 对不同名称、不同颜色的物料进行分组