私はSQL文を書く途中ですが、両方のテーブルに参加することに問題があります。(Table Enrollment & Product)ベース表Enrollmentの列StudentIDからの外部キー列に追加します。 StudentIDは、変数$ StudentIDから読み取られます。Table Aの外部キーに基づいてテーブルBの項目を表示しているときにJoin Table AとTable Bを選択する
登録テーブル
+--------------+-----------+-----------+
| EnrollmentID | StudentID | ProductID |
+--------------+-----------+-----------+
| 1 | 5 | 1 |
| 2 | 5 | 2 |
|3 | 7 | 2 |
|4 | 7 | 3 |
|5 | 9 | 5 |
+--------------+-----------+-----------+
製品表
+-----------+-------------+------------+
| ProductID | ProductName | ProductDate|
+-----------+-------------+------------+
|1 | ProductA | 1/1/2017 |
|2 | ProductB | 1/2/2017 |
|3 | ProductC | 1/3/2017 |
|4 | ProductD | 1/4/2017 |
+-----------+-------------+------------+
これは、これまでのところ、私が出てくるとのトラブル持つきたSQL文です:$ StudentIDがある場合
"SELECT product.ProductName, product.ProductDate
FROM enrollment WHERE StudentID = '$StudentID'
RIGHT JOIN product ON enrollment.productid = product.productid";
を5. StudentID5に関連付けられているProductIDのすべてのアイテムを表示します。この場合、Product AとPr産物Bが産物となる。
、以下のクエリを使用します(https://en.wikipedia.org/wiki/Associative_entity)、および' StudentID'があること**第3テーブルから来ています( '学生'?)。また、そのテーブルにも参加する必要があります:) –
はい、それは3番目のテーブルからです。しかし、そのテーブルではなく、「StudentID」のみが使用されます。私は3つのテーブルを結合することに慣れていない。 –
3つ目のテーブルのデータを**表示していない場合でも、** IDを使用して2つのテーブルを一緒に '関連付ける'ことはできます。 3つのテーブルを結合するには、最後に 'Enrollment'と' Student'の間に別の 'JOIN'を追加するだけです。それを助けるための[**いくつかの例**](https://stackoverflow.com/questions/3709560/mysql-join-three-tables)があります:) –