如何在oracle

时间:2019-05-26 15:21:18

标签: sql oracle concatenation

我想根据序列(SEQ)数字属性将oracle表格中的文本单元连接起来。有可能做到吗?我需要您的查询帮助。

例如,我有下表DATA:

|-----------------|
|ID|CODE|SEQ|TEXT |
|--|----|---|-----|
|1 |a   |1  |text1|
|1 |a   |2  |text2|
|2 |b   |1  |text3|
|3 |c   |1  |text4|
|4 |d   |1  |text6|
|4 |d   |2  |text7|
|4 |d   |3  |text8|
-------------------

我想做的是创建一个新表DATA1,在SEQ> 1的情况下,它将具有相同ID和代码的TEXT值与串联文本连接在一起。新表应如下所示:

|-------------------------|
|ID|CODE|TEXT             |
|--|----|-----------------|
|1 |a   |text1 text2      |
|2 |b   |text3            |
|3 |c   |text4            |
|4 |d   |text6 text7 text8|
---------------------------

1 个答案:

答案 0 :(得分:1)

listagg()函数可用于按ID和代码分组。

else {
                if (curNode != null) {
                    curNode = curNode.getNext();
                    index--;
                    //return null;
                } else {
                    curNode = null;
                }
                // pre-modified -> curNode = curNode == null ? null : curNode.getNext();
                // pre-modified -> index--;
            }

Demo