我有一個名爲'users'的表名爲'modules',名爲'users_modules'的表。SQL:多個聯接和WHERE語句
'users'包含'user_id','first_name','last_name'和'role'。
'模塊'包含'module_code'和'module_title'。
「users_modules」包含「USER_ID」和「module_code」
的「角色」列中的「用戶」表specifys如果該用戶是「學生」,「講師」或「管理」。
我想向用戶展示他們正在研究的模塊,包括模塊代碼,模塊標題以及此模塊的講師名稱。
我已經設法對以下語句給出了'module_code'和'module_title'的所有模塊的某個用戶正在研究的內容。
SELECT users_modules.user_id,
users_modules.module_code,
modules.module_title
FROM users_modules
INNER JOIN modules
ON users_modules.module_code = modules.module_code
WHERE user_id = 2;
我現在需要顯示哪些講師報名參加此模塊。需要成爲上述語句的一部分,因爲我在PHP while循環內使用它來生成HTML表。我知道我需要爲用戶表做另一個JOIN,所以我可以得到講師的姓名,但不知道如何完成編寫代碼。
代碼將不得不檢查哪些用戶註冊了該模塊(使用users_module表),然後查看他們中的任何用戶是否具有'角色'(users表中的列),該角色等於'Lecturer'或「管理員」。
概述的我想要的:
由此顯示了學生它們參加和講師教授本章什麼什麼模塊(在該示例中與USER_ID = 2學生)。
對於每個參與此模塊的人(無論是老師還是學生)都會在'users_modules'中有一個記錄。
我需要一種方法來從每個模塊的講師中抽出'users_modules'表,這是通過查看users表中的'role'列完成的。
爲什麼'用戶'表沒有'user_id'字段? – SS781
它的確如此,我寫錯的時候會出錯,現在會更新。 –