如果我有一个简单的查询
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
答案 0 :(得分:1)
您可以为参数创建一个UNNEST
的伪表,并执行左外连接:
SELECT t.row1, t.row2, t.row3
FROM UNNEST(ARRAY[my_id]) i LEFT OUTER JOIN table t ON t.id = i;
答案 1 :(得分:0)
另一种解决方案是简单地搜索表三次
setTimeout()