Как объединить/объединить столбец даты из разных таблиц в SQL

#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