如果我有一个简单的查询
SELECT row FROM table WHERE id=my_id
如果找不到 my_id
,我想要一行 NULL 而不是空行,我可以使用 coalesce
COALESCE( (SELECT row FROM table WHERE id=my_id), NULL)
如果我的查询返回多列并且我想要一行 NULL,我该怎么办?
SELECT row1,row2,row3 FROM table WHERE id=my_id
最佳答案
您可以使用 UNNEST
为您的参数创建一个伪表并进行左外连接:
SELECT t.row1, t.row2, t.row3
FROM UNNEST(ARRAY[my_id]) i LEFT OUTER JOIN table t ON t.id = i;
关于sql - "Coalesce"多列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47832334/