用一条SQL完成数据表的行统计

it2022-05-09  34

有数据表: 名称    数量   状态 ----------------------- 产品A    10     进货 产品A    20     销售 产品B    20     进货   要查询结果为: 产品名称   库存数量 ----------------------- 产品A        -10  产品B         20 解决方法一:SELECT DISTINCT 名称, (ISNULL((select SUM(A.数量) from 库存表 A WHERE A.名称 = 库存表.名称 AND A.状态='进货'), 0) - ISNULL((select SUM(A.数量) from 库存表 A WHERE A.名称 = 库存表.名称  AND A.状态='销售'), 0)) AS 库存数量 FROM 库存表 解决方法二(Access):SELECT 名称,Sum(IIF(状态='进货',1,-1) * 数量) as  库存数量 From 库存表 Group By 名称 解决方法三(Access): SELECT 名称,Sum(IIF(状态='进货',数量,0)-IIF(状态='销货',数量,0)) as  库存数量 From 库存表 Group By 名称

转载于:https://www.cnblogs.com/powerlc/archive/2005/09/08/232279.html


最新回复(0)