Advertisement
Guest User

Untitled

a guest
Sep 21st, 2014
244
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.00 KB | None | 0 0
  1. SELECT * FROM (SELECT StudentID, SubjectID, ObtainedMarks
  2. from [Exam].[ObtainedMarkEntry]) as InvoiceResult
  3. PIVOT
  4. (
  5. sum(ObtainedMarks) for [SubjectID] in ([1],[2],[3],[4])
  6. )as finalResult
  7.  
  8. declare @minvalue int, @maxvalue int
  9. declare @myArray varchar(max)
  10. set @MyArray=''
  11.  
  12. select RowID=IDENTITY(int, 1,1), SubjectID into #tempSubject from [Exam].[ObtainedMarkEntry]
  13. select * from #tempSubject
  14. set @minvalue = (select min(RowID) from #tempSubject)
  15. set @maxvalue = (select max(RowID) from #tempSubject)
  16. while (@minvalue<=@maxvalue)
  17. begin
  18. declare @sid nvarchar(10)
  19. set @sid=(select SubjectID from #tempSubject where RowID=@minvalue)
  20. set @myArray= @myArray + '[' + @sid + '], '
  21. set @minvalue= @minvalue+1
  22. end
  23. set @myArray= SUBSTRING(@myArray,0,len(@myArray))
  24. drop table #tempSubject
  25.  
  26. declare @q as nvarchar(max)
  27. SELECT * FROM (SELECT StudentID, SubjectID, ObtainedMarks
  28. from [Exam].[ObtainedMarkEntry]) as InvoiceResult
  29. PIVOT
  30. (
  31. sum(ObtainedMarks) for [SubjectID] in (@myArray)
  32. )as finalResult
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement