我有4個表格(其他很多 - 只顯示相關的表格)。它們是:與連接棘手的MySQL查詢?
- 「用戶」
- ID
- 名
- ROLE_ID
- 「角色」
- ID
- 名
- 「chapter_role_view_permissions」
- ID
- chapter_id
- ROLE_ID
- 「章」
- ID
- 名
我試圖構建一個查詢,它將返回給我一個所有用戶,他們的角色名稱,每個用戶的所有章節以及他們是否有查看每章的列表的查詢。因此,讓我們說有2個用戶和2個章節。用戶1是role_id = 1,用戶2是role_id = 2。而chapter_role_view_permissions有1條記錄(ID:1 | chapter_id:1 | ROLE_ID:1),這意味着只有ROLE_ID用戶= 1可以查看第1章
我要找的查詢結果應該是這樣的:
| --- users.id --- | --roles.id --- | --- chapters.id-- | -can_view_chapter- |
| ------ 1 ------ | ----- 1 ------- | ------- 1 -------- | ----------- 1 ----------- |
| ------ 1 ------ | ----- 1 ------- | ------- 2 -------- | ----------- 0 ----------- |
| ------ 2 ------ | ----- 2 ------- | ------- 1 -------- | ----------- 0 ----------- |
| ------ 2 ------ | ----- 2 ------- | ------- 2 -------- | ----------- 0 ----------- |
任何想法查詢可能看起來像什麼?我不想將不得不作出一個新的領域,說:「允許」 chapter_role_view_permissions和插入新記錄與每個角色類型要麼允許= 1或允許= 0
作爲獎勵,我有一個附加的表我已經加入到所謂的「quiz_user_statuses」,這將加入各章的結果。 id字段和users.id字段,該字段表示該用戶在該特定章節上評分的內容(如果記錄不存在,則爲NULL)他們還沒有參加本章測驗,或者他們沒有權限參加測驗)。 – user1418227