declare @sql varchar(8000)
set @sql = 'select stuid as 学号,stuname as 姓名 '
select @sql = @sql + ' , max(case lessionname when ' ' ' + lessionname + ' ' ' then score else null end)
[ ' + lessionname + '] '
from (select distinct lessionname from (select a.stuid , b.stuname , c.lessionname ,
a.score from stu_lession c, stu_profile b, stu_score a where a.stuid = b.stuid and a.lessionid = c.lessionid) t )
as a
set @sql = @sql + ' from (select a.stuid , b.stuname , c.lessionname , a.score from stu_lession c,
stu_profile b, stu_score a where a.stuid = b.stuid and a.lessionid = c.lessionid) t group by stuid,stuname '
exec(@sql)
翻译成一个完整的SQL语句,[email protected] 直接写那种
------解决方案--------------------
declare @sql varchar(8000)
set @sql = 'select stuid as 学号,stuname as 姓名 '
select @sql = @sql + ' , max(case lessionname when ' ' ' + lessionname + ' ' ' then score else null end)
[ ' + lessionname + '] '
from (select distinct lessionname from (select a.stuid , b.stuname , c.lessionname ,
a.score from stu_lession c, stu_profile b, stu_score a where a.stuid = b.stuid and a.lessionid = c.lessionid) t )
as a
set @sql = @sql + ' from (select a.stuid , b.stuname , c.lessionname , a.score from stu_lession c,
stu_profile b, stu_score a where a.stuid = b.stuid and a.lessionid = c.lessionid) t group by stuid,stuname '
print @sql --------------加这个你就可以看到的了!
exec(@sql)