2011-09-20 93 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 | 

學生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(sub for subinid,sub2id)'謝謝 – mrN

+0

@mrN - 看看這裏的解釋unpivot。 http://msdn.microsoft.com/en-us/library/ms177410.aspx –