34,594
社区成员
发帖
与我相关
我的任务
分享
select * into #a from( \\\ 我以为这样写可以,但却不行.....
declare @s nvarchar(4000)
set @s=''
Select @s=@s+','+quotename(老师)+'=sum(case when 老师='+quotename(老师,'''')+' then 成绩 else 0 end)'
from (select distinct 老师 from tb)t
exec('select 学生'+@s+' from tb group by 学生') )a
做一個if的分類來根據條件來創建跟插入臨時表
if @type = 1
begin
create table #temp1
(
field1 varchar(10)
)
insert into #temp1
exec('select 学生 from tb group by 学生')
return 0;
end
if @type = 2
begin
create table #temp2
(
field1 varchar(10),
field2 varchar(20)
)
insert into #temp
exec('select 學生 , 老師 from tb group by 学生')
return 0;
end
......
declare @s nvarchar(4000)
set @s=''
Select @s=@s+','+quotename(老师)+'=sum(case when 老师='+quotename(老师,'''')+' then 成绩 else 0 end)'
from (select distinct 老师 from tb)t
exec('select 学生'+@s+' ##a from tb group by 学生') )a
select * from ##a
declare @s nvarchar(4000)
set @s=''
Select @s=@s+','+quotename(khr)+'=sum(case when khr='+quotename(khr,'''')+' then khfs else 0 end)'
from (select distinct khr from akhin)t
insert into #a exec('select bkhr'+@s+' from akhin group by bkhr')