我有一个SQL查询,它将获取一些数据。我写了一个程序将数据复制到excel表中。这样做了。
单个事件将有多行。我想获得该数据的整理形式。说事故编号:12345并且为此存在大约10行。 如果我查询这个表,那么得到10行作为输出。对于我有兴趣获取的所有10行,都存在一个列work_info。
incident_no work_info
12345 this is incident
12345 this is workinfo
所以我的问题是,如果我用事件12345查询这个表,我需要一行只有一行。 即,
incident_no work_info
12345 this is incident,this is workinfo
我希望输出应该是这样的。 1行,所有work_info整理为1列。
感谢您的帮助。
答案 0 :(得分:0)
如果您使用的是Oracle 11+,listagg应该可以解决问题:
SELECT LISTAGG(work_info, ', ')
WITHIN GROUP (ORDER BY incident_no) work_infoAgg
FROM YOURTABLE;
来源:http://docs.oracle.com/cd/E11882_01/server.112/e17118/functions089.htm#SQLRF51487