1
的Joomla有三個表:MySQL查詢扁平化的Joomla組成員表
用戶:
id | username
-------------
1 | you
2 | me
組:
id | title
-------------
1 | users
2 | managers
usergroups_map:
user_id | group_id
------------------
1 | 2
2 | 1
2 | 2
我想要做的是創建一個查詢(fr看看我將創建一個視圖,以展OM),如:
user_id | username | users | manager
------------------------------------
1 | you | 0 | 1
2 | me | 1 | 1
到目前爲止,我有這樣的事情:
SELECT u.id, username, group_id, user_id, title
FROM joomla_users u
LEFT JOIN joomla_user_usergroup_map map ON map.user_id = u.id
LEFT JOIN joomla_usergroups g ON g.id = map.group_id
WHERE title = 'Super Users'
這給了我一個記錄每個組的成員,但我真的想通過將每個組名稱轉換爲值爲0或1的字段來「扁平化」,具體取決於usergroups_map中是否有該用戶的記錄。
有意義嗎?
jeebus!我認爲這是完美的!就我個人而言,我喜歡沒有固定組的列表的想法。冒着暴露我缺乏MySQl體驗的風險,我該如何使用動態SQL方法創建視圖? – RedBullet 2013-02-26 23:17:42
@RedBullet :)我編輯了我的答案,上面的代碼將創建一個視圖dinamically,但你必須再次執行代碼,每當你修改你的組表 – fthiella 2013-02-27 08:15:24
當我嘗試在我的服務器上運行這個,我得到一個錯誤: 「給予EXECUTE的未知預處理語句處理程序(stmt)」 – RedBullet 2013-02-27 17:05:32