MySQL連表操作和GROUP_CONCAT函數的使用

在開發網站的時候,數據庫操作是必須,複雜的網站有時要涉及到幾張表的同時操作。以下簡單講解一下多表查詢和GROUP_CONCAT函數的使用。例如有三張表 jd_role:角色表,jd_role_privilege:角色權限id關聯表,jd_privilege:權限表,三張表的結構如下:


1、要求查詢每個角色擁有的權限:

使用left join左外連進行連表操作:


此時,就可以查詢出每個角色擁有哪些權限,但是這樣查詢不是很符合實際開發,比如說在修改角色權限的時候,如何把一個角色的權限放入下拉選擇框中,這需要把一個角色擁有的所有的權限轉換成字符串或者數組,這時候可以使用GROUP_CONCAT函數:



2、以id分組,把權限名稱打印成一行,用分號隔開:



3、以id分組,把權限名稱打印成一行,去除重複字段:



4、以id分組,把權限名稱打印成一行,用逗號隔開,根據權限id排序:



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章