declare @sql varchar(4000)
set @sql = 'select Name'
select @sql = @sql + ',sum(case Subject when '''+Subject+''' then Result else 0 end) ['+Subject+']'
from (select distinct Subject from CJ) as a 第三行我就弄不明白 不是只赋值了一次吗 、
为什么 PRINT 后能得到
sum(case Subject when '123' then Result else 0 end) [123],
sum(case Subject when '数学' then Result else 0 end) [数学],
sum(case Subject when '物理' then Result else 0 end) [物理],
sum(case Subject when '英语' then Result else 0 end) [英语],
sum(case Subject when '语文' then Result else 0 end) [语文],
sum(case Subject when '政治' then Result else 0 end) [政治]他是怎么自动 把 FROM 后面的 科目列里的唯一的数据 当成列名自动叠加了5次的 求教
set @sql = 'select Name'
select @sql = @sql + ',sum(case Subject when '''+Subject+''' then Result else 0 end) ['+Subject+']'
from (select distinct Subject from CJ) as a 第三行我就弄不明白 不是只赋值了一次吗 、
为什么 PRINT 后能得到
sum(case Subject when '123' then Result else 0 end) [123],
sum(case Subject when '数学' then Result else 0 end) [数学],
sum(case Subject when '物理' then Result else 0 end) [物理],
sum(case Subject when '英语' then Result else 0 end) [英语],
sum(case Subject when '语文' then Result else 0 end) [语文],
sum(case Subject when '政治' then Result else 0 end) [政治]他是怎么自动 把 FROM 后面的 科目列里的唯一的数据 当成列名自动叠加了5次的 求教
from (select distinct Subject from CJ) as a
简化成 select set @sql = @sql +‘1111’ from (select distinct Subject from CJ) as a再简化成 select set @sql =@sql +‘1111’ from tb_test只要 tb_test 有几条数据 set @sql =@sql +‘1111’就会执行几次?