#sql #postgresql
Вопрос:
У меня есть 3 разных CTE(a,b,c), которые имеют столбцы дата, идентификатор и значение. Только в столбце значение содержатся разные значения. Дата и идентификатор будут иметь в нем одинаковые значения.
select a.date,a.id,a.value,b.date,b.id,b.value,c.date,c.id,c.value
from table_a a
full outer join table_b on b.id = a.id
full outer join table_c on c.id = b.id
Приведенный выше код дал следующий вывод введите описание изображения здесь
Мне нужен следующий вывод, где столбец даты объединен и действует как индекс. Введите описание изображения здесь
как мне получить вывод на втором рисунке.
Ответ №1:
Используйте coalesce
, как правило, когда вы работаете с full join
select
coalesce(a.date, b.date, c.date) as ddate,
a.id,a.value,
b.id,b.value,
c.id,c.value
from table_a a
full outer join table_b on b.id = a.id
full outer join table_c on c.id = b.id