Я пытаюсь написать запрос SQL, который будет распределять записи из одной таблицы в другую с одинаковым номером.
В этом примере у меня есть две таблицы Students
и Teachers
, и яхочу назначить учеников каждому учителю.
ученики: (Адам, Беннет, Элмер, Джастин, Луи, Ноа, Джек)
Учителя: (Лев, Кайл, Итан)
Примечание:
- один ученик не может иметь более одного учителя
- каждый учитель должен иметь такое же количество учеников, как и любой другой учитель ...
- ..Если количество учеников не является точным кратным числу учителей, в этом случае ученики должны быть как можно более равномерно распределены между учителями
Например, если у нас семь учеников и три учителя,у первых двух учителей будет два ученика, а у последнего - три ученика.
Результат:
Student | Teacher
--------+--------
Adam | Leo
Bennet | Leo
Elmer | Kyle
Justin | Kyle
Louis | Ethan
Noah | Ethan
Jack | Ethan
Как я могу это сделать в Oracle SQL?
также:если я хочу добавить курсы, и студент долженесть разные учителя в разных принуждениях ... результат:
Student | Teacher | coerces
--------+---------+---------
Adam | Leo | 1
Bennet | Leo | 1
Elmer | Kyle | 1
Justin | Kyle | 1
Louis | Ethan | 1
Noah | Ethan | 1
Jack | Ethan | 1
Louis | Leo | 2
Noah | Leo | 2
Jack | Kyle | 2
Adam | Kyle | 2
Bennet | Ethan | 2
Elmer | Ethan | 2
Justin | Ethan | 2
как я могу это сделать?