gpt4 book ai didi

sql-server - 需要根据列中的值生成 n 行

转载 作者:行者123 更新时间:2023-12-02 07:23:40 24 4
gpt4 key购买 nike

我有下表

表A

ID | QUANTITY
------------
1 | 3
2 | 2

我需要的是

表B

ID | Ref No.
------------
1 | MyRef1
1 | MyRef2
1 | MyRef3
2 | AnotherRef1
2 | AnotherRef2

即我需要生成表 B,其行数与 A 中的数量相同,并具有升序引用号。在每一行。

我可以使用游标或 UDF 来完成此操作,但是有更优雅的解决方案吗?

最佳答案

我假设

  1. MyRef 等是 TableA 中的一列
  2. 您有 numbers

类似于:

SELECT * INTO #TableA
FROM
(
SELECT 1 AS ID, 3 AS QUANTITY, 'MyRef' AS refColumn
UNION ALL
SELECT 2, 2, 'AnotherRef'
) T


;WITH Nbrs ( Number ) AS (
SELECT 1 UNION ALL
SELECT 1 + Number FROM Nbrs WHERE Number < 99
)
SELECT
A.ID, A.refColumn + CAST(N.Number AS varchar(10))
FROM
#TableA A
JOIN
Nbrs N ON N.Number <= A.QUANTITY

关于sql-server - 需要根据列中的值生成 n 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6439716/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com