Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cach&xE9;要列出的SQL列_Sql_Intersystems Cache - Fatal编程技术网

Cach&xE9;要列出的SQL列

Cach&xE9;要列出的SQL列,sql,intersystems-cache,Sql,Intersystems Cache,您知道在一条SQL语句中创建以下结果集的方法吗 记录集: ID AC9 Value 1 11111111 A 2 11111111 B 3 11111111 C 4 11111111 D 5 22222222 B 6 22222222 C 7 22222222 D 8 22222222 E 9 22222222 F 10 22222222 G 结果集: AC9 M

您知道在一条SQL语句中创建以下结果集的方法吗

记录集:

ID  AC9         Value
1   11111111    A
2   11111111    B
3   11111111    C
4   11111111    D
5   22222222    B
6   22222222    C
7   22222222    D
8   22222222    E
9   22222222    F
10  22222222    G
结果集:

AC9         MyValue
11111111    A,B,C,D
22222222    B,C,D,E,F,G

使用
list
函数,Cache有一种非常简单的方法来实现这一点

select distinct ac9, list(value %FOREACH(ac9))

from (select 1 as id,       11111111 as ac9,  'A' as value
union all select 2,       11111111,        'B'
union all select 3,       11111111,        'C'
union all select 4,       11111111,        'D'
union all select 5,       22222222,        'B'
union all select 6,       22222222,        'C'
union all select 7,       22222222,        'D'
union all select 8,       22222222,        'E'
union all select 9,       22222222,        'F'
union all select 10,      22222222,        'G') sub

还可以使用GROUP BY语句,而不是LIST()聚合中的%FOREACH函数:

SELECT AC9, LIST(Value) As MyValue FROM Source.Table GROUP BY AC9

虽然LIST()不是标准的,但由于聚合函数+分组配对,我认为查询的整体结构更容易理解。

您的数据库是什么?