如何在SQL中为单个标识符连接多个值?

如何在SQL中为单个标识符连接多个值?,sql,string-aggregation,Sql,String Aggregation,我的代码: SELECT o.ORDER_ID ,o.ORDER_DESCRIPTION ,o.ORDER_DATE ,o.ORDER_ITEM_ID , i.CONCATENATED_ITEM_DESC FROM ORDERS o INNER JOIN ( SELECT i.ITEM_ID, CASE WHEN COUNT(i.ITEM_ID > 1) THEN 'CONCATENATE THE DESCRIPTION

我的代码:

SELECT
    o.ORDER_ID
    ,o.ORDER_DESCRIPTION
    ,o.ORDER_DATE
    ,o.ORDER_ITEM_ID
, i.CONCATENATED_ITEM_DESC

FROM ORDERS o

INNER JOIN (
    SELECT i.ITEM_ID,
    CASE 
        WHEN COUNT(i.ITEM_ID > 1) THEN 'CONCATENATE THE DESCRIPTIONS'
    END AS CONCATENATED_ITEM_DESC
    FROM ITEMS i

)i ON o.ORDER_ITEM_ID = i.ITEM_ID
;


我正在尝试从另一个连接的表中获取描述

标准函数是
listag()


但是,许多数据库对该函数有其他名称,包括
string\u agg()
group\u concat()

您使用的是哪种DBMS产品?“SQL”只是一种查询语言,而不是特定数据库产品的名称。请为您正在使用的数据库产品添加。
SELECT o.*, i.CONCATENATED_ITEM_DESC
FROM ORDERS o INNER JOIN
     (SELECT i.ITEM_ID,
             LISTAGG(ITEM_DESC, ', ') WITHIN GROUP )ORDER BY ITEM_DESC) AS CONCATENATED_ITEM_DESC
      FROM ITEMS i
      GROUP BY i.ITEM_ID
     ) 
     ON o.ORDER_ITEM_ID = i.ITEM_ID;