gpt4 book ai didi

sql-server - 一行查询中的多行

转载 作者:行者123 更新时间:2023-12-02 08:43:55 24 4
gpt4 key购买 nike

我正在尝试从我的数据库创建一个查询,该查询将根据计数列将每一行扩展为多行。我需要的是拿走我的 table :

[DATE]     [COUNT]     [OTHER_COLUMN]
20120101 3 X
20120201 2 Y

并创建这个:

[DATE]     [OTHER_COLUMN]
20120101 X
20120101 X
20120101 X
20120201 Y
20120201 Y

我找到了很多方法来做相反的事情(将多行合并为一行),或者将具有多列的一行扩展为多行(基于每列一个),但我似乎找不到方法创建相同的行。我正在使用 SQL Server 2012。

最佳答案

您可以使用递归 CTE:

;WITH CTE AS
(
SELECT *, 1 RN
FROM YourTable
UNION ALL
SELECT [DATE], [COUNT], [OTHER_COLUMN], RN+1
FROM CTE
WHERE RN+1 <= [COUNT]
)
SELECT [DATE], [OTHER_COLUMN]
FROM CTE
OPTION(MAXRECURSION 0)

here is a sql fiddle供您尝试。

关于sql-server - 一行查询中的多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14146779/

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