Я строю систему администрирования гонки, с гонщиками и гонками.
Мне нужно разделить, скажем, 13 водителей на группы максимум по 6 на группу. Это невозможно, так как результат будет 2,2 группы, что невозможно, требуется 3 группы. Допускается меньшая группа, чем 6, поэтому я решил разделить 13 на 3, чтобы выполнить следующее деление:
Заезд 1: 4 водителя
Заезд 2: 4 водителя
Заезд 3: 5 водителей (остальные водители, но не более 6)
Мне удалось разделить строки и округлить результаты и т. Д., Чтобы узнать, что необходимо 3 группы и разрешено не менее 4 водителей на группу. Самое сложное в том, как пройти через это и добавить остальные (5) в последний цикл ... Я думаю о "SELECT TOP 4 ..." для двух первых и "SELECT TOP 100% ..." «для оставшихся пяти водителей.
Я знаю курсоры, но я не эксперт, и я знаю, как создавать и выполнять динамический SQL-запрос.
Как это можно сделать с помощью курсоров и / или счетчиков в SQL Server 2005?