مرجع تخصصی برنامه نویسان

بزرگترین انجمن برنامه نویسان فارسی زبان

دستور pivot در sql

یکشنبه, 22 دی 1398 14:28

دستور pivot در sql

اگر بخواهم نمرات ارزشیابی اساتید یک موسسه را در یک گزارش بیارم و برای هر استاد در یک ردیف نمره ارزشیابی را در زیر نام هر درسش وارد کنم البته با توجه به اینکه نام درس هم باید از جدول فراخوانی بشود چه کاری می توانم انجام دهم؟

declare @pcoursecode varchar(max)
declare @pYEAR TINYINT=97
declare @pSEMESTER TINYINT=2
declare @pInstructorCode INT='11148'
set @pcoursecode=' '
select @pcoursecode=cast(@pcoursecode as varchar(max))+cast(CourseCode as varchar(max))+',' from InstructorRankByCourse where InstructorCode=@pInstructorCode and Year=@pYEAR  and semester=@pSEMESTER
set @pcoursecode=@pcoursecode
select @pcoursecode=LEFT(@pcoursecode,LEN(@pcoursecode)+1)
print @pcoursecode
EXEC('SELECT * FROM
     (SELECT Instructorcode,coursecode,score FROM InstructorRankByCourse)C
     PIVOT
     (sum(score) for coursecode in ('+@pcoursecode+'))pTable')

ارسال پاسخ برای این تاپیک

ارسال پاسخ مخصوص اعضا سایت می باشد ! میتوانید با حساب کاربری خود وارد سایت شده یا ثبت نام کنید