我有下表
id full_name nickname
1 Jennifer Jen
2 Jerome
3 James
4 Jeremiah J
5 Geoffrey Jeff
我正在尝试制作一个名册,以便如果学生有昵称,那么他们只会像这样使用该昵称。
id new_name
1 Jen
2 Jerome
3 James
4 J
5 Jeff
我可以在原始表上使用什么查询来生成一个结果集,该结果集将 new_name
作为学生的昵称(如果他们有的话),并且如果有 new_name
作为他们的全名?
最佳答案
如果“无昵称”意味着昵称
为NULL,那么您可以使用COALESCE :
select id, coalesce(nickname, full_name) as new_name
from your_table
如果“无昵称”表示为空字符串,则:
select id,
case nickname when '' then full_name else nickname end
from your_table
如果你它可以是空字符串或 NULL:
select id,
case coalesce(nickname, '') when '' then full_name else nickname end
from your_table
关于mysql - 如何根据两个字段之间的值比较生成结果集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9147360/