4.Oracle数据库中wmsys.wm_concat()函数的应用

0.前言

最近,在做一个功能,该功能涉及到两张数据库表,一般情况下我们查询数据得到的结果往往会是这样的:

 

 但是,功能要求是这样的:

 

 当看到功能要求的第一眼时,我懵逼了(小编从事IT行业不到一年,经验不足),抓耳挠腮了好久,最后实在没办法了

厚着脸皮去问同事,结果超简单,只是用到了一个函数:wmsys.wm_concat()。

到这里小编真是很无语,经验啊!!!!!

1.正文

好了,话不多说,直接进入正题吧。小编对这个函数理解的也不透彻,第一次用,记录下来,当做是笔记,以后复习用的到。

两张数据库表,第一张表jd_jdjc,添加了两条数据

 

 第二张表jd_jdjcdsr表

 

 jd_jdjc表中的id是和jd_jdjcdsr表的jdjcxh关联的。

我的SQL语句是这样写的:

select 
    jd_jdjc.xmbh,jd_jdjc.xmmc,jd_jdjc.fbsj,wmsys.wm_concat(jd_jdjcdsr.dsrmc) dsrmc
from 
    jd_jdjc,jd_jdjcdsr
where jd_jdjc.id = jd_jdjcdsr.jdjcxh group by jd_jdjc.xmbh,jd_jdjc.xmmc,jd_jdjc.fbsj;

查询结果:

 

 我又试了一下模糊查询:

select 
    jd_jdjc.xmbh,jd_jdjc.xmmc,jd_jdjc.fbsj,wmsys.wm_concat(jd_jdjcdsr.dsrmc) dsrmc
from 
    jd_jdjc,jd_jdjcdsr
where jd_jdjc.id = jd_jdjcdsr.jdjcxh and dsrmc like '%王五%' group by jd_jdjc.xmbh,jd_jdjc.xmmc,jd_jdjc.fbsj;

查询结果:

 

 不知道是不是自己掌握的不够,group by及其后面的不能去掉。这个问题先放在这,以后小编经验够了,对该函数掌握更深了再来解决。

也欢迎大家帮助解决!!!!

posted @ 2020-05-29 13:37  倾心碳酸饮料  阅读(466)  评论(0)    收藏  举报