如何在 SQL Server 中构建表字段值的所有顺序我有一个类似的表
一种 b b C d F
我需要一个具有相似输出的表的函数
一种 抗体 abb 美国广播公司 ABCCD abbdcf
假设我有一个订购这些物品的 ID。
如何在 SQL Server 中构建表字段值的所有顺序我有一个类似的表
一种 b b C d F
我需要一个具有相似输出的表的函数
一种 抗体 abb 美国广播公司 ABCCD abbdcf
假设我有一个订购这些物品的 ID。
假设您有一个(无间隙、不断增加的)ID 来订购这些物品:
with tree (id, all_items) as (
select id, cast(data as varchar(max)) as all_items
from foo
where id = 1
union all
select c.id, p.all_items + c.data
from foo c
join tree p on p.id = c.id - 1
)
select all_items
from tree
SQLFiddle 示例:http ://www.sqlfiddle.com/#!3/8840c/1
Declare @Temp Table
(
Id Int Identity(1,1),
Data Varchar(1)
)
Insert Into @Temp(Data) Values ('a')
Insert Into @Temp(Data) Values ('b')
Insert Into @Temp(Data) Values ('b')
Insert Into @Temp(Data) Values ('c')
Insert Into @Temp(Data) Values ('d')
Insert Into @Temp(Data) Values ('f')
Declare @i Int = 1, @j Int = 1,@Str Varchar(max) = '',@AllStr Varchar(max) = ''
While(@i <= (Select MAX(Id) From @Temp))
Begin
While(@j <= @i)
Begin
Set @Str += (Select Data From @Temp Where Id = @j)
Set @j += 1
End
Print @str
Set @j = 1
Set @i += 1
Set @Str = ''
End