mysql concat 去掉重复_MySQL Group_Concat重复值

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-1 19:10   101   0

我正在开发一个名为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|exchange.php|pre

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP