sqlserver列值当成另一个表的字段

请问sql中把一个表的一个列值当成另一个表的字段这是从一个表里查处的列值

sql

4个回答

大牛路过帮帮忙,感激不尽,小弟挺急的,在线等

百度sql 行列转换

CSY_Admin
CSY_Admin CanSauID是动态的,你都不知道他有多少个值啊,这个怎么转
大约 2 年之前 回复
 if object_id('tempdb..#tb')is not null 
    drop table #tb
go
create table #tb(课程 varchar(10))
insert into #tb values('语文')
insert into #tb values('数学')
insert into #tb values('物理')
--测试数据结束

SELECT * ,2 AS cnt 
INTO #tab
FROM #tb

DECLARE @name VARCHAR(max),@sql VARCHAR(max)
set @name =stuff((SELECT DISTINCT ',['+[课程]+']'  from #tab for xml PATH('')),1,1,'')
set @sql ='SELECT * from #tab pivot(max(cnt)for 课程 in('+@name+'))a where 1<>1'
PRINT @sql
EXEC( @sql)

图片说明

问题已解决,感谢各位,我可能前面没表达清楚,是动态的列值要用动态sql

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问