DECLARE @Id INT
DECLARE @Description VARCHAR(32)
DECLARE @Quantity INT
DECLARE @Results TABLE (Id INT, [description] VARCHAR(32), quantity INT)
DECLARE MyCursor CURSOR FOR
SELECT Id, [description], quantity
FROM
MyTable
OPEN MyCursor
FETCH NEXT FROM MyCursor INTO @Id, @Description, @Quantity
WHILE @@FETCH_STATUS = 0
BEGIN
WHILE @Quantity > 0
BEGIN
INSERT INTO @Results (
Id,
[description],
quantity
) VALUES (
@Id,
@Description,
1
)
SET @Quantity = @Quantity - 1
END
FETCH NEXT FROM MyCursor INTO @Id, @Description, @Quantity
END
CLOSE MyCursor
DEALLOCATE MyCursor
SELECT *
FROM
@Results
Кстати, курсоры обычно считаются злом. Так что я оба рекомендую против чего-то подобного, и заранее всех благодарю за их пламя;) (Но это должно сработать)