MSSQL дублирование строк нужное количество раз

Иногда необходимо сдублировать одну запись таблицы несколько раз в запросе, при этом физически дублирование не нужно. Обычно подобные задачи возникают при формировании печатных форм (у меня ценники например).Прямого дублирования строк в MSSQL нет, поэтому все находят свои решения проблемы. Вот мое:

  1. Создаем таблицу TicketNumbers в которой будет 1 столбец “rnmID”;
  2. Заполняем таблицу TicketNumbers нужным количество строк со строгим соблюдением нумерации: 1, 2, 3, … , N. Да, тут есть ограничение, но вряд ли вам понадобится создать дубликатов больше 100, а если понадобится – ищите свой рецепт 😉 ;
  3. Формируем запрос. Например, мне нужно дубликаты строк таблицы TicketPackEntry в котором поле tpeCount указывает сколько дубликатов необходимо:

Все. В результатах строки таблицы TicketsPackEntry будут сдублированы TicketsPackEntry .tpeCount раз.

Полный пример:

На выходе получим:

2 мысли о “MSSQL дублирование строк нужное количество раз”

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.