oracle 怎么将查询到一列的数据 合并成一个字符串返回来 用“,”分割 如(张三,李思,。。。。)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle 怎么将查询到一列的数据 合并成一个字符串返回来 用“,”分割 如(张三,李思,。。。。)相关的知识,希望对你有一定的参考价值。

oracle 9i

参考技术A 假设你的表结构是tb_name(id, remark),则语句如下:
SELECT
a.id,
wm_concat (a.remark) new_result
FROM
tb_name a
group by
a.id

用wm_concat ,明白了吧追问

我的是 9i 的 图示wm_concat 无效标识符、、、

追答

WMSYS.WM_CONCAT 用这个试试

追问

也是提示无效字符串 9i 有很多特殊的地方么?

追答

9I不支持,真郁闷
参考下资料吧
http://apps.hi.baidu.com/share/detail/23073276

追问

谢了。

本回答被提问者采纳
参考技术B select wmsys.wm_concat(name) from table; 不过查出来得没有顺序,因为oracle暂时不支持顺序排列~

不好使就用sql语句吧查出来得数据放到一个list中,然后用java语句给输出出来不久完事了。只要达到后期想要的效果就成呗,软件是死的,人是活的。追问

额 我刚是想能不能直接出来呢。 谢了

追答

参考技术C 可以用游标来实现。

【Excel】多列数据合并为一列

参考技术A 由于问卷系统的问题,导出的数据是每个选项为一列,但分析时需要将单选题的多列数据合并为一列,才方便做透视表或spss分析。

如下图的性别数据:

性别数据举例

Excel中有以下几种方法可以达到合并效果:

准备操作:将A列1替换为男,B列1替换为女。

1、操作技巧法 。【适合少列数据合并为一列】

操作: 选中A列,ctrl+g定位,选中定位条件,选择空值,点击确定。选中空值后,右击选择删除,选择右侧单元格左移,点击确定,即可完成。

原理 :用B列的数据替换A列的空值。

注意:此方法需将要合并的数据单独列出一个sheet表,否则会导致其他列数据部分左移。

选中A列,ctrl+g定位,选择定位条件

选择空值

点击删除

选择右侧单元格左移

2、 公式法 。

(1) &连接符 。【适合少列数据合并为一列】

操作: 增加一列C,在C3单元格输入公式  =A3&B3  ,即将A3和B3合并为C3。鼠标放置C3右下角,当鼠标变为黑色 + 号,双击,自动填充整列,即可完成。

原理 :将A3、B3的内容合并,空值不显示。

C3=A3&B3

双击黑色+字,自动填充

(2) concatenate 函数 。【适合少列数据合并为一列】

操作: 增加一列C,在C3单元格输入公式  =concatenate(A3,B3)  ,即将A3和B3合并为C3。鼠标放置C3右下角,当鼠标变为黑色 + 号,双击,自动填充整列,即可完成。

原理: concatenate函数是将多个文本字符串合并为一个,空值不显示。

注意:括号为英文括号,数据之间用英文 逗号 。

C3=concatenate(A3,B3)

(3) phonetic 函数 。【适合多列数据合并为一列】

操作: 增加一列C,在C3单元格输入公式  =phonetic(A3:B3)  ,即将A3和B3合并为C3。鼠标放置C3右下角,当鼠标变为黑色 + 号,双击,自动填充整列,即可完成。

原理:phonetic函数是获取一定范围内代表拼音信息的数值,空值不显示。

注意:括号为英文括号,起始数据和终止数据之间用英文 冒号 ,适合多列数据合并。

C3=phonetic(A3,B3)

(4) if 函数 。【比较复杂,但可以不用将原数据替换】

操作: 增加一列C,在C3单元格输入公式  =if(A3=1,"男","女")  ,表示如果A3=1,即呈现“男”,否则呈现“女”,将A3和B3合并为C3。鼠标放置C3右下角,当鼠标变为黑色 + 号,双击,自动填充整列,即可完成。

原理: if函数列出了条件,当满足条件1,呈现结果1,满足条件2,呈现结果2。

注意:引号为英文括号。若是多列数据合并,公式为  =if(A3=1,"18岁以下",if(B3=1,"18-25岁",if(C3=1,"26-30岁"))) ,有多少列数据就写多少个if和括号。

=if(A3=1,"男","女") 

结语

方法不在多,在于顺手。选择自己喜欢的方法,常加练习,就能提高数据分析效率。

以上是关于oracle 怎么将查询到一列的数据 合并成一个字符串返回来 用“,”分割 如(张三,李思,。。。。)的主要内容,如果未能解决你的问题,请参考以下文章

sql 里 怎么把一列的值合并成一个字符串

EXCEL中如何将两列的内容合并到一列中?

SQL SERVER 如何把1列多行数据 合并成一列显示,具体格式如下:

SQL语句怎么实现几列数据合并成一条??

oracle语句中如何把一列的值合并为一个值,用逗号隔开?

SQL怎么列合并