{ORACLE}请教大家怎么把多行合并成一行??

{ORACLE}请教大家怎么把多行合并成一行??,第1张

这样吗?

select t1push_code,t1provincepudate,p1provincereceivername,t2citypudate,t2cityreceivername

from t1,t2

where tpush_code= t2push_code

你看看是不是这样的,你数据排版太混乱了

select csrq,qyph,pczl,wm_concat(jyxmmc),wm_concat(jyz),xydj,je from 表名 group by csrq,qyph,pczl,xydj,je

 ----------补充-----------

oracle跟sqlserver不一样,如果存储过程的话只能返回类似sqlserver中print那种

这样的话,不知道能符合你要求不

表名我起的test

create table test

(CSRQ varchar2(10),

QYPH varchar2(20),

pczl number(10,4),

jyxmmc varchar2(10),

jyz number(10,4),

xydj number(10,4),

je number(10,4))

insert into test values ('2014-5-6','201405070026',1112300,'硅',31260,12800000,9540508544);

insert into test values ('2014-5-6','201405070026',1112300,'碳',34580,12800000,9540508544);

insert into test values ('2014-5-6','201405070026',1112300,'磷',00770,12800000,9540508544);

insert into test values ('2014-5-6','201405070026',1112300,'镍',67010,12800000,9540508544);

insert into test values ('2014-5-6','201405070026',1112300,'铬',25940,12800000,9540508544);

insert into test values ('2014-5-6','201405070026',1112300,'硫',02020,12800000,9540508544);

执行

select 'csrq','qyph','pczl',replace(wm_concat(jyxmmc),',','    '),'xydj','je' from test

union all

select to_char(csrq),to_char(qyph),to_char(pczl),replace(to_char(wm_concat(jyz)),',',' '),to_char(xydj),to_char(je) from test 

group by to_char(csrq),to_char(qyph),to_char(pczl),to_char(xydj),to_char(je)

结果

1、先创建一个JSONObject对象。

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

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

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

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

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

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

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/langs/13494604.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2025-09-01
下一篇2025-09-01

发表评论

登录后才能评论

评论列表(0条)

    保存