可以用动态语句做。declare @str varchar(8000) declare @fcurrlevel varchar(100) set @fcurrlevel='3' declare @columname varchar(100) set @columname ='fstep' set @str='select fcode,@fcurrlevel,'+@columname+@fcurrlevel+' from tb where fcurrlevel='''+@fcurrlevel+'''' exec(@str)
除了用Case fcurrlevel when 1 then fstep1 when 2 then fstep2.... end 這樣的語句外還有沒有別的方法查查pivot用法 select * from a pivot (max(字段) for fcurlevel in ([1],[2],[3],[4]))
declare @fcurrlevel varchar(100)
set @fcurrlevel='3'
declare @columname varchar(100)
set @columname ='fstep'
set @str='select fcode,@fcurrlevel,'+@columname+@fcurrlevel+' from tb where fcurrlevel='''+@fcurrlevel+''''
exec(@str)
select * from a pivot (max(字段) for fcurlevel in ([1],[2],[3],[4]))
ChinaJiaBing的pivot方法還是沒明白,我查了幫助也沒有。我用的是MS SQLSERVER 2000。