我正在从id在数组中的表中选择行。这行得通,但是我还想为表中不存在的行返回默认值。
我目前有
SELECT
id,
column1
FROM
table_name
WHERE
id = ANY(ids_array_variable)
但是,如果表中不存在数组中的某些ID,那么我的结果是短了几行。我需要它仍返回{id,default_value}的默认记录,以便结果始终具有与ids_array_variable相同的条目数
答案 0 :(得分:3)
使用左联接:
select a.id,
coalesce(t.column1, 'some default') as column1
from unnest(ids_array_variable) as a(id)
left join table_name t on t.id = a.id;