所以 - 我試圖做一個連接到已經存在的數據庫的腳本。有一個名爲UserRole的表和一個名爲Users的表。 UserRole包含UserID和RoleID。我可以從UserRole中選擇角色ID爲「16」(16 =管理員)的所有用戶。我如何使用從UserRole獲得的UserID來訪問Users表中的數據?從2個mySQL表中獲取數據
(注意 - 我是新來的這整個PHP的MySQL的事情:d)
所以 - 我試圖做一個連接到已經存在的數據庫的腳本。有一個名爲UserRole的表和一個名爲Users的表。 UserRole包含UserID和RoleID。我可以從UserRole中選擇角色ID爲「16」(16 =管理員)的所有用戶。我如何使用從UserRole獲得的UserID來訪問Users表中的數據?從2個mySQL表中獲取數據
(注意 - 我是新來的這整個PHP的MySQL的事情:d)
Divyesh Savaliya是正確的,但更喜歡使用JOIN:
SELECT u.*
FROM User u
INNER JOIN UserRole ur ON u.UserID = ur.UserID
WHERE ur.RoleID = 16;
我希望你不要使用大寫+小寫的您的數據庫表名稱和列。 更喜歡下劃線。此外,首先指定「id」對於人們的快速解釋更好。這樣你直接知道id在哪裏。
最後但並非最不重要的是,它不能用於指定ID是否是外鍵。
實施例:
SELECT u.*
FROM user u
INNER JOIN user_role ur ON u.id_user = ur.fk_id_user
WHERE ur.id_role = 16;
SELECT *
FROM User
LEFT JOIN UserRole
ON User.userID = UserRole.userID Where RoleID= 16;