再发一贴:如何将某列值作为查询内容?期望高手现身~!
举个简单的例子,比如table1有a、b、c三列
select * from table1
-------结果:-----------------------
a b c
table1.b 如此 很好
table1.c 这样 不错
------------------------------------
而我现在要得到这样的结果
-------结果:-----------------------
x b c
如此 //即该行table1.b的值 如此 很好
不错 //即该行table1.c的值 这样 不错
------------------------------------
------解决方案--------------------继续等待....
--------------
看来我的方法不行,
改了一下,改成动态的,不知是否符合你的要求,如果不行,请说明原因,别继续等待...
哈哈
create table table1(a varchar(10),b varchar(10),c varchar(10))
insert table1 select 'table1.b ', '如此 ', '很好 '
union all select 'table1.c ', '这样 ', '不错 '
--select case a when 'table1.b ' then b else c end as x,b,c from table1
declare @sql varchar(1000)
declare @x varchar(800)
set @x= 'case a '
select @x=@x+ ' when ' ' '+a+ ' ' ' then ' +a from (
select distinct a from table1) tmp
set @x=@x+ ' end as x '
set @sql= 'select '+@x + ',b,c from table1 '
--print @sql
exec(@sql)