我需要在所有可能的页面(T2)中显示所有可能用户(T1)的用户级别,其中值存储在另一个表格(T3)中,如:
UserID,Page,Level(R,E,W,A,O) (读取,编辑,写入,助手,所有者)
但我无法理解如何动态获取列,然后将其称为LAST(col1) 任何正确方向的提示都将受到赞赏。
我知道如何在php中的许多foreach循环中完成它,但我相信它应该可以在MySql中使用?..
表格如下:
表1;用户
ID | Name
------------------
1 | James
------------------
2 | John
------------------
3 | Peter
------------------
表2;页
ID | PageName
------------------
1 | Home
------------------
2 | Members
------------------
3 | Courses
------------------
4 | Lybrary
------------------
5 | StrangePage
------------------
6 | Unused Page
------------------
表3; UserLevels
ID | User | Page | Lev
---------------------------------------
1 | James | Home | W
---------------------------------------
2 | James | Members | R
---------------------------------------
3 | James | Lybrary | O
---------------------------------------
4 | John | Home | R
---------------------------------------
5 | Peter | Home | O
---------------------------------------
6 | Peter | Courses | A
---------------------------------------
预期输出将包含所有用户作为行,所有页面作为列,所有权限(如果可用)作为结果:
User | Home | Members | Courses | Lybrary | StrangePage | Unused Page
-----------------------------------------------------------------------
James | W | R | | | |
-----------------------------------------------------------------------
John | R | | | | |
-----------------------------------------------------------------------
Peter | O | | A | | |
-----------------------------------------------------------------------