9.4 连接序列成员时给串加引号
将序列中的成员连成一串,连接时成员加引号。
查询每个部门的员工分布在哪些州,州名称用空格分隔。因为有的州名本身就有空格,所以要加引号区别。员工表如下:
ID | NAME | SURNAME | STATE | DEPT | SALARY |
---|---|---|---|---|---|
1 | Rebecca | Moore | California | R&D | 7000 |
2 | Ashley | Wilson | New York | Finance | 11000 |
3 | Rachel | Johnson | New Mexico | Sales | 9000 |
4 | Emily | Smith | Texas | HR | 7000 |
5 | Ashley | Smith | Texas | R&D | 16000 |
… | … | … | … | … | … |
使用函数 A.concat()的 @q 选项,连接成员时给字符串成员加双引号。类似的, A.concat() 的 @i 选项,连接成员时给字符串成员加单引号。
脚本:
A | |
---|---|
1 | =connect(“db”) |
2 | =A1.query@x(“select * from Employee”) |
3 | =A2.group(DEPT; ~.id(STATE):STATES) |
4 | =A3.new(DEPT, STATES.concat@q(" "):STATES) |
A1 连接数据源
A2 导入员工表
A3 按部门分组,每组计算州名称的唯一值
A4 每组的州名称使用 A.concat() 函数连接成字符串,使用选项 @q 成员加双引号
运行结果:
DEPT | STATES |
---|---|
Administration | “Florida” “Pennsylvania” |
Finance | “California” “Colorado” “Florida” “Georgia” “Illinois” “Michigan” “New Jersey” “New York” “North Carolina” |
… | … |