Interbase SQL Select Group By Records 用逗号分成一行

Interbase SQL Select Group By Records into one row with commas

我有一个简单的 Interbase SQL Select Group By 查询:

Select STRINGNAME from STRINGLIST
Group by STRINGNAME

这个查询return这个结果:

STRINGNAME
FirstString
SecondString
ThirdString

等等

我想让我的查询 return 一行以任何顺序执行此操作:

FirstString,SecondString,ThirdString

或反转

ThirdString,SecondString,FirstString

这怎么可能?我在想一个程序,但也许还有另一种更简单的方法?

我自己找到了答案。谢谢

Firebird 和 Interbase 有一个 LIST() 聚合函数,它可以满足我的需要:

SELECT LIST(DISTINCT STRINGNAME, ',')
FROM STRINGLIST

这非常适用于 Interbase SQL 和 Firebird SQL

使用临时变量你可以这样做:-

declare @tmp varchar(max)
SET @tmp = ''
select @tmp = @tmp + STRINGNAME + ', ' from STRINGLIST Group by STRINGNAME
select @tmp