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到输出。
- 如果
必须有一种方法可以在一个查询中执行此操作吗?