从PostgreSQL中的两列中选择第一个非空单元格

时间:2017-02-24 12:30:23

标签: sql postgresql

从这样一个表中:

id   name      alias
0    John      Null
1    Null      Paul
2    Null      George
3    Ringo     Null
4    Pete      Pete

如何选择namealias列之间的第一个非空值,并将其放入自己的results字段中,以便输出为:

id   result
0    John
1    Paul
2    George
3    Ringo
4    Pete

1 个答案:

答案 0 :(得分:5)

您基本上是在描述COALESCE函数:

https://www.postgresql.org/docs/9.6/static/functions-conditional.html

在你的情况下:

SELECT id, COALESCE(name, alias) AS result FROM yourtable;