使用一条SQL语句,对产品的库存查询。

产品的表结构

1CREATE TABLE `temp` (
2  `id` int(11) NOT NULL AUTO_INCREMENT,
3  `product_id` int(11) NOT NULL,
4  `flag` int(1) DEFAULT NULL,
5  `size` int(11) DEFAULT NULL,
6  PRIMARY KEY (`id`)
7) ENGINE=InnoDB DEFAULT CHARSET=utf8;
字段 描述
id 主键
product_id 产品唯一标识
flag 标记位,1代表入库;2代表出入
size 数量

使用一条sql语句查询每个产品的库存状态

1select sum(
2case flag 
3	when 1 then size
4  when -1 then -1*size
5end)
6from temp
7group by product_id

主要实现采用when .. then