2017-08-30 84 views
0

我有以下SQL查询:PostgreSQL的 - 如果在SELECT语句子句

SELECT nickname, name from users; 

有些用户的名字,但没有昵称和一些有昵称,但没有名称。我想要有sql查询,检查用户是否有现在的名字或昵称,并返回只存在一个。下面是结果应该如何的样子:

Name 
------------- 
user_1_nickname 
user_2_name 
user_3_nickname 
user_4_name 

PostgreSQL有办法做到这一点吗?

+0

如果一个用户有两个,哪一个选择? – jarlh

回答

3

使用coalesce?

select coalesce(name, nickname) -- this prioritises name over nickname 
from users;