MySql交叉表3个表,T1=行,T2=列,T3=值
我需要在所有可能的页面2中显示所有可能的usersT1的用户级别,从而将值存储在另一个表T3中,如: 用户ID、页面、级别器、E、W、A、O 读、编辑、写、助理、所有者 但我就是不明白如何动态生成列,然后将其称为LASTcol1 任何方向正确的提示都将不胜感激 我知道如何在php中的许多foreach循环中完成它,但我相信在MySql中应该是可能的 表如下所示: 表1;使用者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
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 | | |
-----------------------------------------------------------------------
向我们展示您的表结构?添加了结构,感谢来自给定测试数据的提示预期输出可能对我们有用?添加了预期结果,也感谢该提示-