0
我有一个审计表具有多列,选择列是其包含的值的SQL Server
可以说
Create table TestTable (ID int, Col1 varchar(10), Col2 varchar(10), Col3 varchar(10), Col4 varchar(10), Col5 varchar(10), Col6 varchar(10), Col7 varchar(10));
insert into TestTable values(1,'Ram',null,null,null,null,null,null);
insert into TestTable values(2,null,1,null,'2',null,null,null);
insert into TestTable values(3,null,1,null,'2',null,null,null);
现在我想如果用户运行下面的查询
Select *[]* From TestTable where ID=1
然后输出应该是这样的。
**ID Col1
1 Ram**
和用户查询以下
Select *[]* From TestTable where ID=2
运行,那么输出应该来这个样子。
**ID Col2 Col4
1 1 2
列是不应该是静态的,如果在列中应该有行的值。
任何想法如何获得结果,我需要动态选择列。
SQL查询返回一组定义良好的列。除非使用动态SQL,否则不能有返回可变数量列的查询。 – 2014-08-29 20:49:45