MySql交叉表3个表,T1=行,T2=列,T3=值

MySql交叉表3个表,T1=行,T2=列,T3=值,mysql,crosstab,Mysql,Crosstab,我需要在所有可能的页面2中显示所有可能的usersT1的用户级别,从而将值存储在另一个表T3中,如: 用户ID、页面、级别器、E、W、A、O 读、编辑、写、助理、所有者 但我就是不明白如何动态生成列,然后将其称为LASTcol1 任何方向正确的提示都将不胜感激 我知道如何在php中的许多foreach循环中完成它,但我相信在MySql中应该是可能的 表如下所示: 表1;使用者 ID | Name ------------------ 1 | James ------------------ 2

我需要在所有可能的页面2中显示所有可能的usersT1的用户级别,从而将值存储在另一个表T3中,如:

用户ID、页面、级别器、E、W、A、O 读、编辑、写、助理、所有者

但我就是不明白如何动态生成列,然后将其称为LASTcol1 任何方向正确的提示都将不胜感激

我知道如何在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;用户级别

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       |         |             |
-----------------------------------------------------------------------

向我们展示您的表结构?添加了结构,感谢来自给定测试数据的提示预期输出可能对我们有用?添加了预期结果,也感谢该提示-