sql - 如果不存在则插入两个表的总和

标签 sql sql-server-2008 sum full-outer-join

我有一种情况,我想对两个表之间的差异进行求和。问题是第二个表中可以存在一行,然后我想将其作为新行插入。

SELECT T1.seller, T1.code, T1.amount - T2.amount

查看图片以获取解释

LINK

最佳答案

 DECLARE @T1 TABLE(
    seller VARCHAR(10),
    code VARCHAR(3) NULL,
    amount MONEY
)

 DECLARE @T2 TABLE(
    seller VARCHAR(10),
    code VARCHAR(3) NULL,
    amount MONEY
)

INSERT INTO @T1 VALUES
('VL',NULL,1),
('VL','317',70005.6)

INSERT INTO @T2 VALUES
('VL',NULL,0.5),
('VL','500',4450)

SELECT seller,code,SUM(amount) [amount] FROM 
(
SELECT * FROM @T1
UNION ALL
SELECT seller,code,-amount as amount FROM @T2
) T
GROUP BY seller,code

关于sql - 如果不存在则插入两个表的总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13816738/

相关文章:

java - 为什么我在关系字段中得到空值?

sql - 在 SQL Server 中将 NULL 转换为空字符串

sql - 为什么这个查询 block 插入?

mysql - sql缓存内存

c# - SqlCommand 如何处理整数类型的参数?

sql-server-2008 - 如何修改此 t-sql 查询以返回不同列名的最大值?

mysql - 我的sql字段总和使用另一个字段来区分然后排序

java - 在 map java中查找值的总和

c - 找到以 2 和 10 为底数的回文数字并将它们相加

python - 如何在 Django Admin 的 get_queryset 中使用原始 SQL?