2011-09-20 6 views
0

나는 이것을 어떻게 할 것인지 잘 모른다. 간단한 예를역 피벗 쿼리 도움말

studentid | sub1id  | sub2id | and so on..... 
---------------------------------------------------------- 
1   |  1  | 2  | and so on 
3   |  5  | 6  | and so on 

같은 테이블 구조를 사용하여 ... 나는이 특정 학생

학생에게 다음과 같은 형태로 출력을 원하는 1

student | sub | 
====================== 
1   | 1 | 
1   | 2 | 

학생이

student | sub | 
====================== 
2   | 5 | 
2   | 6 | 

답변

1
declare @T table 
(
    studentid int, 
    sub1id int, 
    sub2id int 
) 
insert into @T values 
(1, 1, 2), 
(3, 5, 6) 

select studentid, sub 
from (select studentid, sub1id, sub2id 
     from @T 
     where studentid = 3) as T 
unpivot (sub for C in (sub1id, sub2id)) as U 
+0

이 부분을 설명해 주시겠습니까?'unpivot (sub1id, sub2id)'감사합니다. – mrN

+0

@mrN - 여기에 unpivot에 대한 설명이 있습니다. http://msdn.microsoft.com/en-us/library/ms177410.aspx –