Sql server TSQL-从两个表中获取求和或减法

Sql server TSQL-从两个表中获取求和或减法,sql-server,tsql,Sql Server,Tsql,我想在我的过程中对两个表中的“salevalue”求和/减。销售1有收据,销售2有退货。但我迷失在思想中 SELECT * FROM @possale1 SELECT * FROM @possale2 SELECT sum(salevalue) AS S1 FROM @possale1 SELECT sum(salevalue)*-1 AS S2 FROM @possale2 select sum(sum(a.sal

我想在我的过程中对两个表中的“salevalue”求和/减。销售1有收据,销售2有退货。但我迷失在思想中

    SELECT *
    FROM @possale1

    SELECT *
    FROM @possale2

    SELECT sum(salevalue) AS S1
    FROM @possale1

    SELECT sum(salevalue)*-1 AS S2
    FROM @possale2

    select sum(sum(a.salevalue)-sum(b.salevalue)) 
    from @possale1 a 
    inner join @possale2 b on a.receiptdate=b.receiptdate

你是在努力吗

SELECT SUM(ISNULL(a.salevalue,0) - ISNULL(b.salevalue,0))
FROM @possale1 a FULL OUTER JOIN @possale2 b on a.receiptdate=b.receiptdate

如果没有聚合,下一步应该做:

select ((SELECT sum(salevalue) FROM @possale1) - (SELECT sum(salevalue) FROM @possale2)) as balance

“我迷失在思想中”并不是一个真正可以回答的问题。请试着澄清你的理由。也许,通过写下你的想法,你可以自己得出正确的答案。我的错是,我没有让它更精确。我有一个存储过程,它通过OpenQuery将来自Oracle的收据和退货插入到两个单独的表中。现在我想从这些表中减去一个表(receives-returns=balance)。Arvo回答了我的问题,效果很好。非常感谢,这给了我一个我想要的减号。只有当两个表的每个日期正好有一行时,这才有效。