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

 

結果也一樣


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM