Предположим, у меня есть эти данные:Возможно ли это SQL-запрос?
Employee Task IsCurrent
-------- ---- ---------
Jeff 1 Yes
Jeff 2 No
Jane 1 No
Jane 2 Yes
Jane 3 No
Jane 4 No
Jake 1 Yes
Сотрудники имеют некоторое количество задач, и одна из них будет ток. Номер задачи указывает порядок - они выполняют задачи по порядку, возвращаясь к началу, когда они сделаны с последним. Мне нужен запрос, чтобы увидеть следующие три задачи. Я бы хотел этот результирующий набор:
Employee CurrentTask NextTask NextTask2
-------- ----------- -------- ---------
Jeff 1 2 1
Jane 2 3 4
Jake 1 1 1
Возможно ли это? Я использую SQL 2005
ОБНОВЛЕНИЕ: Извините, я не уточнил, что номера задач не обязательно являются секвенциальными - т.е. у Майка могут быть задачи 10, 23 и 223. Поэтому я не могу просто join, ища следующий порядковый номер задачи.
Хороший! Гораздо более надежным, чем мое решение. –
@a_horse_with_no_name: Thx, но я плохо себя чувствую для кода, играющего в гольф вашего ответа. –
Ну, работает лучше, чем у меня. Хорошая работа;) – cichy