下面是源表和我想要实现的输出。
我希望每个another_table.id只在输出中出现一次,后续值显示在新列中
答案 0 :(得分:0)
根据你问题中的表格,这将为你提供输出。用CTE代替子查询以增加清晰度......
with intials as(
SELECT id,
another_table.id as another_table_id,
value as field_1
FROM
main_table
WHEN
variable.id = 1),
finals as(
SELECT id,
another_table.id as another_table_id,
value as field_1
FROM
main_table
WHEN
variable.id = 2)
SELECT
initials.id,
initials.another_table_id
initials.value field_1,
finals.value field_2
FROM
initials
LEFT OUTER JOIN
finals on initials.another_table_id = finals.another_table_id;