将分组的其他内容以字符串形式展示

分组后,test_item_name不属于group by中的内容,想要以逗号隔开的方式展示在一个单元格内时,可以用一下方法实现。

SELECT a.test_item_id, a.test_item_name, a.group_code, a.group_name, a.mini_limit, a.max_limit, a.unit, a.memo,

LISTAGG(b.test_item_name, ',') WITHIN GROUP( ORDER BY b.test_item_id ) AS other_name
FROM t_procedure_test a LEFT JOIN t_test_item_connection b ON a.test_item_id = b.standard_item_id
WHERE  a.group_code = '{0}' AND   a.technics_id = '{1}'
GROUP BY a.test_item_id, a.test_item_name, a.group_code, a.group_name, a.mini_limit, a.max_limit,a.unit, a.memo

关键语句:LISTAGG(b.test_item_name, ',') WITHIN GROUP( ORDER BY b.test_item_id ) AS other_name

以“,”将每个group 中的test_item_name连接起来,形成一个新的值,显示在other_name中

原文地址:https://www.cnblogs.com/hanje/p/10613469.html