分组后,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中