0

如何在 SQL Server 中构建表字段值的所有顺序我有一个类似的表

一种
b
b
C
d
F

我需要一个具有相似输出的表的函数

一种
抗体
abb
美国广播公司
ABCCD
abbdcf

假设我有一个订购这些物品的 ID。

4

2 回答 2

4

假设您有一个(无间隙、不断增加的)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

于 2012-10-13T09:54:25.067 回答
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
于 2012-10-13T09:43:58.007 回答