mysql concat 去掉重复_MySQL Group_Concat重复值

我正在开发一个名为PHP-Bouncer的开源项目,我正在为它编写一个MySQL查询问题.基本上我们有三个表:BouncerRoles,PageInRole和BouncerPageOverrides. BouncerRoles包含访问级别,另外两个表通过外键链接回BouncerRoles并提供多个附加数据条目.我编写了以下查询以尝试同时提取我需要的所有角色数据:

select BouncerRoles.RoleID, BouncerRoles.RoleName,

GROUP_CONCAT(PageInRole.PageName separator '|') as ProvidedPages,

GROUP_CONCAT(CONCAT(BouncerPageOverrides.OverriddenPage,'&',BouncerPageOverrides.OverridingPage) separator '|') as OverriddenPages

from BouncerRoles join PageInRole on BouncerRoles.RoleID = PageInRole.RoleID

join BouncerPageOverrides on BouncerRoles.RoleID = BouncerPageOverrides.RoleID

group by BouncerRoles.RoleID;

此查询的目标是提供RoleID,RoleName,提供的页面的管道分隔列表,以及管道分隔的覆盖列表(以覆盖页和覆盖页的形式).一切都有效,除了查询的最后一列,它会像这样重复一遍又一遍地找到的条目(以CSV格式输出):

RoleID,RoleName,ProvidedPages,OverriddenPages

2,Exchange,exchange-how.php|exchange-support.php|exchan

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值