2016-04-15 80 views
0

我在Oracle中有一个有两列的表。在第一列中,有时会有重复的值在第二列中响应不同的值。我如何编写一个只显示第一列唯一值和第二列所有可能值的查询?如何在Oracle的同一单元格中获取多个值

表看起来有点像下面

COLUMN_1 | COLUMN_2 

NUMBER_1 |  4 
NUMBER_2 |  4 
NUMBER_3 |  1 
NUMBER_3 |  6 
NUMBER_4 |  3 
NUMBER_4 |  4 
NUMBER_4 |  5 
NUMBER_4 |  6 

回答

4

您可以使用listagg()如果您正在使用Oracle 11G或更高像

SELECT 
    COLUMN_1, 
    LISTAGG(COLUMN_2, '|') WITHIN GROUP (ORDER BY COLUMN_2) "ListValues" 
FROM table1 
GROUP BY COLUMN_1 

否则,看到这个链接替代较低版本

Oracle equivalent of MySQL group_concat

+0

工作得很好,谢谢! – siddhu

相关问题