SQL Server 2008
我有一个MyTable
有列的表A, B, C, D
当我选择一行时,我想要一个仅包含非空/空白列的列表。结果集将是
A
C
D
如果B
在我的行中为空。
E
实际上,有一天可能会有一个专栏。但是我可以从另一个表中获取所有可能的列名,并且需要检查MyTable
它们是否有,如果有,哪些有我选择的行的数据
因此:
select * from MyTable where ID = 6
select ColumnName from AllColumnNames
- 对于
ColumnName
结果中的 每个- 如果
ColumnName
存在MyTable
并且其中有数据,则where ID = 6
添加ColumnName
到输出。
- 如果
必须有一种方法可以在一个查询中执行此操作吗?