2013-07-25 3 views
1

я 2 таблицы приведенных нижеFetch значения поочередно из тузда таблицы, имеющие различных внешних ключей

Классы

classid int autoincrement primary key 
classname varchar 

Студентов

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

Я хочу получать studentid от студентов стола из выбранных классов поочередно в одном запросе. Если выбранные классы - 1,2,3, то я хочу, чтобы ученик из classid 1 затем 2, затем 3 снова начинался с 1, затем 2, затем 3 снова начинался с 1 и так далее. Как я могу написать запрос, чтобы получить результат, как

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

Пожалуйста разработать вопрос с образцами данных и ожидаемый результат – Akhil

+0

могли бы вы дать ** таблицу вывода **, как вы хотите –

ответ

0

Через Queryt я не знаю, но вы можете сделать так, как,

огонь запрос, и вы получили все Идентификаторы, чтобы принести в качестве альтернативы, скажем, это [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 как соединение посредством утверждения, благодаря которому вы можете добиться этого.
Думаю, вам нужно будет использовать процедуру для заполнения таблицы этим результатом. а затем выберите
Вы можете использовать два курсоров и достичь этого внутри Stored Procedure

Смежные вопросы