sql - 所有行的返回值
问题描述
是否有 case 语句或其他函数可以让我跨表中的多个选定列返回值?如果其他列中没有 null,则名称将始终相同。不存在所有三个名称列都为空的情况。
到目前为止,我想到的是一个 case 语句,它遍历了 null 的所有 3 种组合并且不是 null,但是有没有更简单的方法?
例子:
名称1 | 名称2 | 名称3 | 名称 |
---|---|---|---|
无效的 | 无效的 | 约翰 | 约翰 |
无效的 | 吉姆 | 无效的 | 吉姆 |
詹姆士 | 詹姆士 | 无效的 | 詹姆士 |
约翰 | 约翰 | 约翰 | 约翰 |
解决方案
您可以使用coalesce
select COALESCE(Name1, Name2, Name3) AS Names
from table
推荐阅读
- javascript - 如何只查询猫鼬中的子路径而不精确任何值?
- python - Unity ML-Agent 运行非常缓慢
- python - ValueError: Input 0 is in compatible with layer batch_normalization_1: expected ndim=3, found ndim=2
- python - NameError:名称“日期”未定义
- javascript - d3 文本被截断/超出图表区域
- c# - OrganizationServiceProxy 的 CallerId
- jboss - 在 webUI 中添加 principalsQuery 不允许空格
- spring - 从文件内容创建 AIScene 实例
- c++ - 无法通过继承读取内存
- three.js - 双色调材料