您的位置:首页 > 数据库

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

2004-12-24 22:22 519 查看
作者的一个软件项目的查询系统需求:
有数据表:
名称数量状态
-----------------------
产品A10进货
产品A20销售
产品B20进货
要查询结果为:
产品名称库存数量
-----------------------
产品A-10
产品B20
解决方法一:
SELECT
DISTINCT名称,
(ISNULL((selectSUM(A.数量)from库存表AWHEREA.名称=库存表.名称ANDA.状态='进货'),0)
-
ISNULL((selectSUM(A.数量)from库存表AWHEREA.名称=库存表.名称ANDA.状态='销售'),0))AS库存数量
FROM
库存表

解决方法二(Access):
SELECT名称,Sum(IIF(状态='进货',1,-1)*数量)as库存数量From库存表GroupBy名称

解决方法三(Access):
SELECT名称,Sum(IIF(状态='进货',数量,0)-IIF(状态='销货',数量,0))as库存数量From库存表GroupBy名称
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: