首页 > 解决方案 > 所有行的返回值

问题描述

是否有 case 语句或其他函数可以让我跨表中的多个选定列返回值?如果其他列中没有 null,则名称将始终相同。不存在所有三个名称列都为空的情况。

到目前为止,我想到的是一个 case 语句,它遍历了 null 的所有 3 种组合并且不是 null,但是有没有更简单的方法?

例子:

名称1 名称2 名称3 名称
无效的 无效的 约翰 约翰
无效的 吉姆 无效的 吉姆
詹姆士 詹姆士 无效的 詹姆士
约翰 约翰 约翰 约翰

标签: sqlsql-server

解决方案


您可以使用coalesce

select COALESCE(Name1, Name2, Name3) AS Names
from table

推荐阅读