MySql分隔符拆分查詢(一行轉多行)


說明

  • 適用場景:應用系統根據角色實現菜單權限管控
  • 技術點:mysql.help_topic;substring_index()

表結構

  • user 用戶表

 

  • role 角色表

  • menu菜單表

SQL實現

SELECT u.u_name, r.r_name, m.m_title FROM user u
LEFT JOIN role r ON u.u_role_id = r.r_id
JOIN mysql.help_topic h ON h.help_topic_id < (length(r.r_menu_id) - length(REPLACE(r.r_menu_id, ',', '')) + 1)
LEFT JOIN menu m ON substring_index(substring_index(r.r_menu_id, ',', h.help_topic_id + 1), ',',- 1) = m.m_id
ORDER BY u.u_id, r.r_id, m.m_id


免責聲明!

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



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