有人可以帮助我解决这个问题吗?
我有此SQL SERVER 2008动态查询:
create table #PROC
(IDProc INT, LabelProc varchar(100))
Create table #INFO
(IDInfo INT, IDType INT, IDProc INT, INFOValue INT)
insert into #Type
values(1,'Type1'),(2,'Type2')
insert into #PROC
values(1,'Proc1'),(2,'Proc2')
insert into #InFO
values(1,1,1,11),(2,1,2,12),(3,2,1,21),(4,2,2,22)
select * from #Type
select * from #Proc
select * from #info
declare @labelforprocs varchar(max) = '' ,@sql NVARCHAR(MAX)
select @labelforprocs = CONCAT(@labelforprocs,QUOTENAME(LabelProc),',') from [PROC] select @labelforprocs = LEFT(@labelforprocs,LEN(@labelforprocs)-1) SET @sql = 'select * from
(
select T.Label,P.LabelProc,I.INFOValue from INFO I
INNER JOIN [PROC] P
ON I.IDPROC = P.IDProc
INNER JOIN TYPE T
on T.IDType = I.IDType
)SRC
PIVOT
(MAX(INFOValue)
FOR LabelProc in (' + @labelforprocs +
'))piv' EXEC sp_executesql @sql
查询结果:
Label Proc1 Proc2
Type1 11 12
Type2 21 22
我想通过此结果动态加载我的easyui-datagrid,因此我无法使用类似于jQuery教程部分的“动态更改datagrid列”之类的东西,因为在PHP文件中执行查询之前未知列标题。