SQL - 根据计数插入行

Big*_*IWT 5 sql sql-server recursive-query

我希望根据另一个设置的值将许多重复行插入表中 - 想法和建议将不胜感激。

tblType
Type     Qty
Apple    2
Banana   1
Mango    3

tblResult
Apple
Apple
Banana
Mango
Mango
Mango
Run Code Online (Sandbox Code Playgroud)

Sal*_*n A 2

您可以使用递归 CTE 来构建数据:

WITH rcte AS (
    SELECT Type, Qty, 1 AS n
    FROM tbltype
    WHERE Qty > 0

    UNION ALL

    SELECT Type, Qty, n + 1
    FROM rcte
    WHERE n < Qty
)

-- INSERT INTO tblresult
SELECT Type
FROM rcte
Run Code Online (Sandbox Code Playgroud)