sql - SQL Server:如果列不为空,则显示为新行
问题描述
我有一张这样的桌子:
id name col1 col2 col3 col4 col5 col6
----------------------------------------------
1 user b c e f g Null
我想将这样的结果显示为 col4 和 col5 不为空,但不显示 col6,因为它为空:
id name col1 col2 col3 col4
----------------------------------
1 user b c e f
1 user b c e g(from col5)
解决方案
你可以用UNPIVOT
这个。这会自动排除NULL
SELECT id,
name,
col1,
col2,
col3,
ucol AS col4
FROM YourTable
UNPIVOT (x
FOR ucol IN (col4,
col5,
col6)) u
推荐阅读
- python - 修复了在录制散景图元素时的 HoverTool 工具提示
- python - 捕获两个单词之间的字符串,但只有第一次
- ruby - Safari Capybara Selenium 的基本浏览器身份验证
- python - ImportError:无法导入 PIL.Image。`array_to_img`的使用需要PIL
- mongodb - Mongoose 从数组数组中删除一个对象
- python - 向外部应用程序发送 Discord 消息
- python - 给定列的*列表*,如何用零列填充 TF 张量
- swift - 如何使用 Codable Protocol Swift 在 CoreData 中保存自定义类型
- java - Java中的XML大写元素值
- file - 使用 SQR 访问另一台计算机上的文件