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

问题描述:

从表像这样的:选择第一个非空单元格从两列在PostgreSQL中

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

如何选择namealias列之间的第一个非NULL值,并把它变成自己的results领域,从而使输出将是:

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

你基本上描述COALESCE功能:

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

你的情况:

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

高兴它帮助。 –