单个listagg中的多个列

时间:2018-05-07 22:24:53

标签: sql sql-server database oracle

是否可以在单个listagg函数中添加多个列? 我有一个查询返回您在下面的屏幕截图中看到的结果。第一个黄色突出显示的结果是我现在拥有的。我希望第二个黄色突出显示结果。

enter image description here

2 个答案:

答案 0 :(得分:2)

您不需要LISTAGG,只需要连接字符串:

Oracle查询

SELECT contractorno,
       fruits || stock_type || stockno AS stockinfo
FROM   (
  SELECT contractorno,
         fruits,
         stock_type,
         stockno
  FROM   your_query
)

在SQL Server中,字符串连接运算符为+而不是Oracle ||

答案 1 :(得分:1)

<强>的Oracle

SELECT contractorno
    ,fruits || '-' || stock_type || '-' || stockno AS stockinfo
FROM (
--your query--
    )q

<强> SQL-服务器

SELECT contractorno, 
       Concat (fruits, '-', stock_type, '-', stockno) AS stockinfo 
FROM   (--yourquery--
    ) q