返回首页
当前位置: 主页 > 数据库 > Oracle教程 >

oracle 中一表同一记录多条字符信息连接语法

时间:2015-10-16 16:36来源:电脑教程学习网 www.etwiki.cn 编辑:admin

如果是数字型的可直接用sum等函数再加上group by就可以实现;但字符串不行;需用到函数 WMSYS.WM_CONCAT 就可以了。


方法:如:一张组织表,一张用户表,一张组织和用户的关联表;最后要得到结果:一个人员一条记录并且如果此人在多部门的信息在最后串接起来,如想得到结果:
张三 部门1,部门2,部门3
而非:
张三 部门1;
张三 部门2;
张三 部门3;

先通过组织和用户表及关联关系表,组织一张新表:用户,组织,或加一个id,
最后再通过此表做group,参考如下:

select tt.uname,wmsys.wm_concat(tt.oname) from (select u.uname,o.oname from usertable u,orup o, uo t where o.id = t.oid and u.id = t.uid) tt group by uname;

这样查询出来的结果:
张三 部门1,部门2,部门3
------分隔线----------------------------
标签(Tag):Oracle oracle数据库 数据库
------分隔线----------------------------
推荐内容
猜你感兴趣