データベースには、ユーザー名テーブルと管轄テーブルがあります。また、ユーザーを 1 つ以上の管轄区域に割り当てるための中間テーブルもあります。
従業員テーブル
- ユーザー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ステートメントを考え出すために何時間も試みてきました。私はこの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ステートメントはどれですか.jurisdiction = "Texas";