关于SQL Server 中两个查询结果相减的问题(仓库货物收、发,求现存数量)。

2025-02-25 13:35:35
推荐回答(3个)
回答1:

一张表里边,同一地区、同一货物只是有收、发两条记录么?
是否可能有这样的情况:
2011-3-2 天河区 收 B 20
2011-3-4 天河区 收 B 120
2011-3-6 天河区 发 B 70

建议将“收”改为1,“发”改为-1,这样直接用数量与之相乘,在使用Sum()即可

回答2:

看来是广州的,呵呵。下面的即可

SELECT 地区, 存货, SUM(CASE WHEN 收发标志 = '收' THEN 数量 ELSE ((-1)*数量) END)
FROM 收发记录表
GROUP BY 地区, 存货

回答3:

2 from (SELECT 列车.硬卧数 count1 FROM 列车 WHERE 列车.列车编号='3') a ,(SELECT COUNT(座位编号) count2 FROM 座位 WHERE 座位.出售状态=true AND 座位.座位类型=‘硬座’AND 座位.列车编号=‘3’) b
注:通过建立子查询的方式来实现