0

我有一个类似以下的查询:

select      sum(t1.qty) t1Total, sum(t2.qty) t2Total, sum(t1.qty - t2.qty) difference
from        t1 full join 
            t2 on t1.date = t2.date and t1.chain = t2.chain

我希望它在日期上进行完全连接,但在链上进行内部连接。换句话说,一个表有链,另一个没有,我不希望额外的链包含在总数中,但我确实想确保两个表中的链的所有天数都被计算在内。

最简单的方法是什么?

4

1 回答 1

0

在总和中使用 case 语句;当内部表上的链为空时,将其设置为零。例如:

sum(case when t2.chain is null then 0 else t1.qty end) as t1Total
于 2012-06-18T01:18:01.863 回答