mysql拼接多条字段
转
未合并情况
SELECT
a.id,
b.name 
AS "role"
FROM 
sys_user a
INNER JOIN sys_user_role c ON a.id=c.user_id
INNER JOIN sys_role b ON b.id =c.role_id
WHERE
a.del_flag=0
AND
b.del_flag=0
结果
id role
1                   系统管理员
1	                  测试角色
2                  	系统管理员
2                    测试角色
9	                  系统管理员
9	                  测试角色
d11828f3dbf148829287aeb637cbf6ec	系统管理员
d11828f3dbf148829287aeb637cbf6ec	测试角色
fe55ff534d23453ab66fda0912f6018d	系统管理员
fe55ff534d23453ab66fda0912f6018d	测试角色
合并情况
SELECT id,GROUP_CONCAT(role) AS "rolelist" FROM
(SELECT
a.id,
b.name 
AS "role"
FROM 
sys_user a
INNER JOIN sys_user_role c ON a.id=c.user_id
INNER JOIN sys_role b ON b.id =c.role_id
WHERE
a.del_flag=0
AND
b.del_flag=0)d
GROUP BY id
结果
id rolelist
1                    测试角色,系统管理员
2	                    测试角色,系统管理员
9	                    测试角色,系统管理员
d11828f3dbf148829287aeb637cbf6ec	测试角色,系统管理员
fe55ff534d23453ab66fda0912f6018d	测试角色,系统管理员
或者
select a.id,group_concat(b.name) AS rolelist
from sys_user a 
inner join sys_user_role c on a.id = c.user_id
inner join sys_role b on b.id = c.role_id
WHERE
a.del_flag=0
AND
b.del_flag=0
group by a.id
结果也一样
                    
                
                
            
        
浙公网安备 33010602011771号