Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Задачка. Размножение строк в таблице (развернуть детализацию).  [new]
Конгрессмен
Guest
Здравствуйте, уважаемые форумчане !
Прошу помочь решить задачу. Думал, думал - никак не соображу.
Есть таблица ( в столбце amount - целые неотрицательные числа; id - первичный ключ).
id amount
A 3
B 4
C 1
D 3
E 2


Нужно запросом преобразовать эту таблицу так, чтобы получить на выходе

id amount
A 1
A 1
A 1
B 1
B 1
B 1
B 1
C 1
D 1
D 1
D 1
E 1
E 1


P. S. Циклы и курсоры не использовать.
P. P. S. Числа в столбце amount могут быть и побольше указанных, естественно (это я только пример сделал с небольшими целыми числами) ...
19 апр 14, 19:11    [15905546]     Ответить | Цитировать Сообщить модератору
 Re: Задачка. Размножение строк в таблице (развернуть детализацию).  [new]
2Конгрессмен
Guest
DECLARE @numbers TABLE (number INT)
DECLARE @amounts TABLE (id CHAR(1), amount INT)

INSERT INTO @numbers (number) VALUES (1), (2), (3), (4), (5)

INSERT INTO @amounts
  (
    id,
    amount
  )
VALUES
  (
    'A',
    3
  ),
('B', 4),
('C', 1),
('D', 3),
('E', 2)


SELECT a.id, 1 z
FROM @numbers n
	INNER JOIN @amounts a ON a.amount >= n.number
19 апр 14, 19:24    [15905598]     Ответить | Цитировать Сообщить модератору
 Re: Задачка. Размножение строк в таблице (развернуть детализацию).  [new]
Добрый Э - Эх
Guest
Конгрессмен,

если сервер нечем занять, то можно прикрутить рекурсивный СТЕ
19 апр 14, 21:19    [15905954]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить