"聚结"多列

时间:2017-12-15 12:21:36

标签: sql postgresql

如果我有一个简单的查询

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

2 个答案:

答案 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()