原来是正常的
列名1 列名2
数值1A 数值2A
数值1B 数值2B
数值1C 数值2C
数值1D 数值2D
现想做到 列名+数值
列名1 列名2 列名3
数值1A 数值2A 列名1:数值1A;列名2:数值2A
数值1B 数值2B 列名1:数值1B;列名2:数值2B
数值1C 数值2C 列名1:数值1C;列名2:数值2C
数值1D 数值2D 列名1:数值1D;列名2:数值2D
这张表的 列是**动态**的,
目前不知道该怎么写了
--TEST 代码
Create table test
(
badge nvarchar(200)
,name nvarchar(200)
)
Insert into test select '010',N'张三' union all select '011',N'李四' union all select '012',N'王二'
select a.name into #a from dbo.syscolumns a where a.id=object_id( 'test')
select
(select
stuff((select ';'+c.name+':'+t.badge from #a c for xml path('')) , 1 , 1 , '') )
from test t
select * from #a
drop table #a
drop table test
可能是思路错了,求求各位大佬告知一下思路啊,又觉得原本很简单是不是想复杂l