我有两张下面的表格
类
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中的studentid然后2然后3再次从1开始然后是2然后3再次从1开始,依此类推。如何编写查询以获得结果
studentid classid
id1 1
id2 2
id3 3
id4 1
id5 2
id6 3
id7 1
答案 0 :(得分:0)
通过Queryt我不知道,但你可以这样做,
点火查询,你会得到所有的Ids来取回,说是[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]
}
}
答案 1 :(得分:0)
我不认为你可以在Mysql中做到这一点。 Oracle作为connect by语句,通过它您可以实现此目的。
我认为你需要使用一个过程来填充这个结果的表。然后选择
您可以使用两个游标并在Stored Procedure