假设我有一个这样的表:
测试
| 列1|第2列|| - -|- -|| A级|一个|| B|一个|| C类|一个|| D级|2个|我正在执行查询,从测试中选择col 1,其中col 2 = 1;这将返回一个列,值为A B和C,分为3行。我希望SQL返回一个值为A|B|C的单行。这可能做到吗?如果可以,我应该怎么做?
A|B|C
8nuwlpux1#
您可以像这样使用LISTAGG函数:
SELECT LISTAGG(col1, ',')
carvr3hs2#
如果LISTAGG不可用,则可以使用XMLAGG重新生成:
LISTAGG
XMLAGG
SELECT SUBSTR(XMLSERIALIZE(XMLAGG(XMLTEXT('|'||"Col1"))),2) FROM "test" WHERE "Col2" = 1
2条答案
按热度按时间8nuwlpux1#
您可以像这样使用LISTAGG函数:
carvr3hs2#
如果
LISTAGG
不可用,则可以使用XMLAGG
重新生成: