SQL - объединение двух запросов с разницей в один столбец - PullRequest
1 голос
/ 22 октября 2019

У меня есть два 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.

1 Ответ

0 голосов
/ 22 октября 2019

Вам нужно 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
...