Как разместить порядковый номер в PL / SQL - PullRequest
0 голосов
/ 14 мая 2018

У меня есть вопрос.

Предположим, у меня есть таблица A, содержащая 15 элементов в 15 строках и 1 столбце (имя столбца: имя_позиции), как показано на прилагаемом рисунке.

enter image description here

И еще есть таблица B, содержащая имена 5 человек, пронумерованных от 1 до 5

enter image description here (столбец: Число, Имя).

Каждый элемент в таблицеА должен быть распределен среди людей в таблице B, каждый человек получает 5 элементов, правило состоит в том, что человек номер 1 получает первые 5 элементов сверху, человек № 2 получает вторые 5 элементов и т. Д. До тех пор, пока номер 3 пользователя.

Есть ли возможность назначить 5 номеров 1 для первых 5 элементов таблицы А, а затем 5 номеров 2 для следующих 5 элементов и т. Д., Чтобы я мог соединить 2 таблицы, используя номера, чтобы я знал, кто из них получит какиеПредметы?Результат, на который я надеялся, будет похож на прилагаемую картинку.

enter image description here

1 Ответ

0 голосов
/ 15 мая 2018

Вы можете использовать NTILE

declare @value int = (select COUNT(*) from tableA) / 5

select
    *
from
(
   select
       Item_Name,
       NTILE(@value) over (order by Item_Name) nr
   from tableA
) tbl
join tableB on tableB.Number = tbl.nr
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...