gpt4 book ai didi

sql - 如何将 Sql Int 值拆分为多行

转载 作者:行者123 更新时间:2023-12-04 12:44:22 29 4
gpt4 key购买 nike

假设我在 MS SQL 2000 中有下表

Id | description | quantity |
-------------------------------
1 my desc 3
2 desc 2 2

我需要根据数量显示多行,所以我需要以下输出:
Id | description | quantity |
-----------------------------
1 my desc 1
1 my desc 1
1 my desc 1
2 desc 2 1
2 desc 2 1

任何想法如何实现这一点?

最佳答案

这工作得很好,不需要任何游标。也可以在没有数字表的情况下解决一些问题。

请注意,如果采用这种解决方案,我会保留一个数字表,并且每次运行查询时都不会重新创建它。

create table #splitme (Id int, description varchar(255), quantity int) 
insert #splitme values (1 ,'my desc', 3)
insert #splitme values (2 ,'desc 2', 2)

create table #numbers (num int identity primary key)
declare @i int
select @i = max(quantity) from #splitme
while @i > 0
begin
insert #numbers default values
set @i = @i - 1
end

select Id, description, 1 from #splitme
join #numbers on num <= quantity

关于sql - 如何将 Sql Int 值拆分为多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/544477/

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