在数据库中,我有一个用户名表和一个权限表。我还有一个中间表,可以将用户分配到一个或多个司法管辖区。
员工表
- 用户 ID(主键)
- 名
- 姓
记录:
+--------+-----------+----------+
| userID | firstName | lastName |
+--------+-----------+----------+
| 6 | John | Doe |
| 11 | lisa | lopez |
+--------+-----------+----------+
管辖表
- jurId(主键)
- 地区
记录:
+-------+--------------+
| jurID | jurisdiction |
+-------+--------------+
| 1 | California |
| 2 | Texas |
| 3 | Washington |
| 4 | South Dakota |
| 5 | Alaska |
| 6 | Ohio |
+-------+--------------+
user_jurisdiction
- userID(指向员工用户ID的外键)
- jurID(指向司法管辖区 jurID 的外键)
记录:
+--------+-------+
| userID | jurID |
+--------+-------+
| 6 | 2 |
| 6 | 3 |
| 11 | 2 |
+--------+-------+
我已经尝试了几个小时来提出一个 sql 语句,该语句将选择/列出来自“Texas”的所有工作人员。我一直在使用这个 sql 语句的许多争执,但没有成功:
SELECT jurisdictions.jurisdiction,
employees.firstName
FROM jurisdictions,
employees
INNER JOIN user_jurisdictions
ON user_jurisdictions.jurID = jurisdictions.jurID AND
user_jurisdictions.userID = employees.userID
WHERE jurisdictions.jurisdiction = "Texas";
但我没有成功。什么 sql 语句会得到一个从jurisdictions.jurisdiction = "Texas"; 中涉及的员工列表。