如何在select查询中连接行? (在Advantage Data Architect中)
我尝试运行以下脚本:
第一个脚本:
declare @str string;
set @str = '';
select @str = @str + field_1 from my_table1
但是我得到的结果是所有行都包含" false",就像这张图片一样:
第二个脚本:
declare @str string;
select @str = coalesce(@str + ', ','') + field_1 from my_table1
这一次,所有行都是空的(注意:" my_table1"中的字段不为空)。
照片:
我尝试在Internet上搜索Advantage Data Architect的解决方案,但我找不到解决方案。
答案 0 :(得分:1)
我假设您想要MySQL中的GROUP_CONCAT
或Oracle / Postgres中的string_agg
。
通用算法类似于:
DECLARE @S STRING;
DECLARE CURSOR C AS
SELECT
CONVERT(field_1, SQL_CHAR) AS "val"
FROM
my_table1;
OPEN C;
WHILE FETCH C do
-- Since @S is NULL for the first row this will ensure
-- that the result does not start with the separator.
@S = COALESCE(@S + ', ' + C.val, C.val);
END;
CLOSE C;
SELECT @S;