应该先聚合,再连接相减。
select SupplierID, ShouldPay - RealPay - ThisPay from
(select SupplierID, sum(ShouldPay) as ShouldPay, SUM(RealPay) as RealPay
from T_InsertStorage
group by SupplierID) as A
left join
(select SupplierID, SUM(ThisPay) as ThisPay
from T_RPManagement
group by SupplierID) as B
on ASupplierID = BSupplierID
PL/SQL块:这样的出来直接只有一个余数
DECLARE
@C1 INT,
@C2 INT,
@C3 INT
BEGIN
select @c1=sum(getmoney) from a
select @c2=sum(paymoney) from b
SET @C3=@C1-@C2
PRINT @C3
END
还可以:这样得出是个无名列
select isnull((select sum(getmoney) from a),0) - isnull((select sum(paymoney) from b),0)
1select a商品名,(a入库数量-b出库数量)。
2as 剩余数量 from 入库表 a,出库表 b。
3where a商品名=b商品名。
update temp1, temp set temp1upd = temp1sta - tempsta where temp1rowNum= temprowNum
试试这个
UPDATE
A
SET
A数量 = A数量 - B退货数量
FROM
A JOIN B
ON (A物料编号 = B物料编号);
上面这种2表关联更新写法
对于 A 表 与 B 表, 是 1对1 的情况下, 是没有问题的。
对于 A 表与 B 表, 是 1对多的情况下, 就没有测试过了。
以上就是关于sql 两表相减全部的内容,包括:sql 两表相减、sql server两个表的合计值进行相减、mysql中让两个表中的某一项数据做减法的sql语句怎么写等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)