私はテーブルの正規化にかなり慣れていないので、3 つのテーブルから正しい情報を取得することに頭を悩ませています。さまざまな図書館から本を予約する例を作成しました。私は3つのテーブルを持っています。書籍、場所、予約 (以下にリスト):
//SQL query:
$sql =
"SELECT * FROM books
JOIN (location LEFT JOIN reservations ON location.locID = reservations.locID)
ON books.bookID = location.bookID
WHERE location.locID=2
";
そして、キャンパス B の本をリストアップする場合に達成したいと思っていた成果は次のとおりです。
title |locName |status
Book 1|Campus B|1
Book 2|Campus B|0
Book 3|Campus B|0
Book 4|Campus B|0
Book 5|Campus B|1
何らかの理由で、私がすべきだと思う出力が得られないことは間違いありません。何が起こっているのかを見れば、自分が間違っていたことを理解できると確信しています。
table: books
bookID|title
1 | Book 1
2 | Book 2
3 | Book 3
4 | Book 4
5 | Book 5
table: location
locID|locName
1 | campus A
2 | campus B
3 | campus C
table: reservations
bookID|locID|status
1 | 1 | 1
3 | 1 | 1
4 | 1 | 1
1 | 2 | 1
5 | 2 | 1
4 | 3 | 1
5 | 3 | 1