如何在DB2中的GROUP BY查询中连接字符值?

时间:2018-01-08 16:32:47

标签: sql function db2 db2-luw

有人知道如何得到这个结果吗?

有一个场景

ID          DATE        Description
00041454707 27/07/17    Hospital Sugisawa Pronto Atendimento
00041454707 27/07/17    Hospital Pequeno Príncipe
00041454707 28/07/17    Hospital Sugisawa Pronto Atendimento

预期结果:

ID          DATE        Description
00041454707 27/07/17    Hospital Sugisawa Pronto Atendimento | Hospital Pequeno Príncipe
00041454707 28/07/17    Hospital Sugisawa Pronto Atendimento

查看结果,我将第一个和第二个分组,它们具有相同的日期   27/07/17 ,并在“说明”字段中汇总。

我不知道DB2有很多背景知识。

DB2 V11.1

1 个答案:

答案 0 :(得分:0)

SELECT id, dateval,
  LISTAGG(descval, ' | ') AS descvals
FROM yourtable
GROUP BY id, dateval

正如这里其他人已经提到的,该技巧是通过LISTAGG函数完成的。 GROUP BY运算符将行收集到一个组中,LISTAGG将值收集到具有指定分隔符的字符串中。