2013-07-25 50 views
1

我在下面從MySQL表具有不同外鍵

給予2個表

classid int autoincrement primary key 
classname varchar 

學生

studentid int autoincrement primary key 
studentname varchar 
classid int foreign key references classes 

我想取從表學生studentid交替取值從一個查詢中交替選擇的類。如果選擇的classids是1,2,3,那麼我希望從classid 1開始學習,然後2再次從3開始,然後從3開始,然後再從3開始,依此類推。我該如何編寫查詢得到的結果類似

   studentid    classid 
        id1      1 
        id2      2 
        id3      3 
        id4      1 
        id5      2 
        id6      3 
        id7      1  
+0

請詳細說明了與樣本數據的問題和預期的結果 – Akhil

+0

請你給**輸出表**,只要你想 –

回答

0

通過Queryt我不知道,但你可以做的方式一樣,

火查詢,你會得到所有的ID來獲取交替,說它是[5,9,10]。 totalNumberOfIdsYouGot = 3(排列這裏總大小)

for(int i=0; i<numberOfTimesItShouldIterate; i++){ 
    for(int j=0; j<totalNumberOfIdsYouGot.length; j++){ 
     //Here fire single Query, change only ids each time as totalNumberOfIdsYouGot[j]   
    } 
} 
0

我不認爲你可以在MySQL做到這一點。 Oracle作爲connect by語句,通過它可以實現這一點。
我想你將需要使用一個過程來填充這個結果的表。然後選擇
您可以使用兩種光標,並實現這裏面的Stored Procedure