Oracle中将查询出的多条记录的某个字段拼接成一个字符串的方法 10

selectbillid,CONTAINER_NOfromFM_PACKING_LINE查询的结果是我想把billid等于15609的所有CONTAINER_NO值合并在... select billid,CONTAINER_NO from FM_PACKING_LINE
查询的结果是

我想把billid等于15609的所有 CONTAINER_NO 值合并在同一字段
要显示这个

,求Oracle的sql语句,谢谢
展开
 我来答
刺友互
高粉答主

2019-07-03 · 每个回答都超有意思的
知道答主
回答量:3979
采纳率:100%
帮助的人:69万
展开全部

1、先创建一个JSONObject对象。

2、然后把JSONObject对象转换成字符串且把“}”去掉,因为等下需要拼接其他数据。

3、判断转换完的字符串是否是空数据还有已经有数据了,如果有就需要加“,”。

4、字符串开始拼接字符串,这里被拼接的字符串一定要符合json格式。

5、字符串拼接完成后把之前去掉的“}”重新加上代表一个完整的json字符串结束。

6、重新把拼接好的字符串转换成JSONObject。

7、然后使用get(key)的方法来获取拼接字符串的属性值,能获得就说明拼接的字符串有效了。

selina5288
2015-11-11 · TA获得超过107个赞
知道答主
回答量:20
采纳率:0%
帮助的人:11.8万
展开全部
select wm_concat(t.email) from TEMP t,这是oracle 自带函数,如果超过4000会报错,超过4000就只能自己写函数了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
华夏日长兴
2014-06-05 · TA获得超过9592个赞
知道大有可为答主
回答量:6305
采纳率:85%
帮助的人:3688万
展开全部
select billid,listagg(container_no,';') within group (order by container_no) from fm_packing_line group by billid
追问

大神 我执行了

但是报错了  结果是这样的 ,我是Oracle10g

追答
select billid, replace(wm_concat(container_no), ',', ';') container_no
  from fm_packing_line
 group by billid
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Storm_duck
推荐于2017-09-04 · TA获得超过1629个赞
知道小有建树答主
回答量:1104
采纳率:82%
帮助的人:447万
展开全部
with temp as(
select 'China' nation ,'Guangzhou' city from dual union all
select 'China' nation ,'Shanghai' city from dual union all
select 'China' nation ,'Beijing' city from dual union all
select 'USA' nation ,'New York' city from dual union all
select 'USA' nation ,'Bostom' city from dual union all
select 'Japan' nation ,'Tokyo' city from dual
)
select nation,listagg(city,',') within GROUP (order by city)
from temp
group by nation

这是最基础的用法:
LISTAGG(XXX,XXX) WITHIN GROUP( ORDER BY XXX)

用法就像聚合函数一样,通过Group by语句,把每个Group的一个字段,拼接起来。
非常方便
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
liudabener
2015-11-19 · TA获得超过197个赞
知道答主
回答量:47
采纳率:0%
帮助的人:29.5万
展开全部
可以考虑使用wmsys.wm_concat方法,该方法是将记录的值使用逗号间隔拼接
使用方法如下:
select wmsys.wm_concat(name) name from idtable;
NAME
---------- --------------------------------------------------------------------------------
ab,bc,cd
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式