Jion с условием

Есть таблица с колонками:

Id, Type, TypeId

Type может иметь значения Type1, Type2.

Хочу сделать представление на Postrgesql с join. Если Type = Type1, то делать join с таблицей Type1Table, если Type = Type2, то делать join с таблицей Type2Table.

Реально такое?


Ответы (1 шт):

Автор решения: Akina
SELECT mt.somecolumn, COALESCE(t1.othercolumn, t2.othercolumn) AS othercolumn
FROM MainTable mt
LEFT JOIN Type1Table t1 ON mt.column = t1.column AND mt.Type = 'Type1'
LEFT JOIN Type2Table t2 ON mt.column = t2.column AND mt.Type = 'Type2'
→ Ссылка