2014-02-20 41 views
2

我試圖找出是否有可能來連接的SQL查詢的結果,如果輸出具有多個值串連結果

例如:如果下面的查詢返回不止一個結果

select * from employee 

輸出:

emp1 
emp2 
emp3 

我希望結果顯示爲

EMP1,EMP2,EMP3

+0

這取決於他是否希望那些在三個單獨的領域,或者如果他希望一個字段顯示「emp1,emp2,emp3」,在這種情況下,它將是一個自定義聚合。他的問題需要更加明確。 – eidylon

+0

@ user3324344 ..使用PIVOT和後來你可以連接使用,之間 –

+0

對不起eidylon沒有更明確,我想像你提到的結果「emp1,emp2,emp3」 – user3324344

回答

2

您可以使用 「LISTAGG」

例子:

SELECT LISTAGG(columnname, ',') WITHIN GROUP (ORDER BY columname) 

希望它解決了問題!

0
SELECT LISTAGG(empname,',') WITHIN GROUP(ORDER BY empname) FROM emp; 
0

可以使用listagg功能

select listagg(first_name,',') within group(order by employee_id) from employees; 

我使用的是Oracle 11g版本2所提供

0

可以使用XMLELEMENT函數HR模式的員工表。

SELECT 
    RTRIM (XMLAGG (XMLELEMENT (E, EMPLOYEENAME|| ', ')).EXTRACT ('//text()'), ',') ENAMES 
FROM 
    EMPLOYEE;