SQL - 合并具有一列差异的两个查询

SQL - Merging two queries that have one column difference

我有两个 SQL 查询给我这样的结果:

Employee id | Week | SUM(Qty sold)
1             42     2
3             38     15


Employee id | Week | SUM(Qty bought)
1             42     5
2             35     10
3             42     6

当我执行完全外部联接时,我得到:

Employee id | Week | SUM(Qty sold) | Employee id | Week | SUM(Qty bought)
1             42     2                1             42     5
2             35     10               null          null   null
3             38     15               null          null   null
null          null   null             3             42     6

但我想做但不知道怎么做的是:

Employee id | Week | SUM(Qty sold) | SUM(Qty bought)
1             42     2               5            
2             35     null            10
3             38     15              null
3             42     null            6

最终目标是添加另一列售出 - 购买。 我的真实表格比那更复杂,但我认为这样更容易理解(而且我也不能分享它们)。

如果有人能指出正确的方向,我昨天整个下午都在为这个问题拔头发。

谢谢

PS:我不知道这是否会改变什么,但我正在使用 teradata。

你需要COALESCE。试一试:

SELECT COALESCE(t1.EmployeeID, t2.EmployeeID)
    ,COALESCE(t1.Week,.t2.Week)
    ,SUM(Qty sold)
    ,SUM(Qty bought)
FROM table1 t1
FULL OUTER JOIN table2 t2 ON t1.EmployeeID= t2.EmployeeID