Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 所有行中的返回值_Sql_Sql Server - Fatal编程技术网

Sql 所有行中的返回值

Sql 所有行中的返回值,sql,sql-server,Sql,Sql Server,是否有一个case语句或其他函数允许我跨表中的多个选定列返回值?如果其他列中没有空值,则名称将始终相同。不存在三个名称列都为空的情况 到目前为止,我想到的是一个case语句,它遍历了null和notnull的所有3个组合,但是有没有更简单的方法 例如: 名称1 姓名2 名字3 名字 无效的 无效的 约翰 约翰 无效的 吉姆 无效的 吉姆 詹姆斯 詹姆斯 无效的 詹姆斯 约翰 约翰 约翰 约翰 您可以使用合并 select COALESCE(Name1, Name2, Name3) AS Name

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

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

例如:

名称1 姓名2 名字3 名字 无效的 无效的 约翰 约翰 无效的 吉姆 无效的 吉姆 詹姆斯 詹姆斯 无效的 詹姆斯 约翰 约翰 约翰 约翰
您可以使用
合并

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

COALESCE(Name1,Name2,Name3)作为名称
@honeybacker很好,谢谢!