3 つの MySQL テーブルがあります。
shelf
---------------
id
project_id
label
books
---------------
id
project_id
label
booksOnShelves
---------------
id
shelf_id
book_id
project_id
user_id
次のような表形式で、どの本がどの棚にあるかを表示する必要があります。
History Fiction
------- --------
book 1 book 4
book 2 book 5
book 3
これまでのところ、私はこれしか持っていません:
SELECT
shelf.label,
books.label
FROM booksOnShelves
LEFT JOIN shelf ON (shelf.id = booksOnShelves.shelf_id)
LEFT JOIN books ON (books.id = booksOnShelves.book_id)
WHERE booksOnShelves.project_id = ".$_POST['pid']."
AND booksOnShelves.user_id = ".$_POST['uid']."
カップルのこと...何らかの奇妙な理由で棚のラベルが表示されませんが、本のラベルなど、クエリ内の他のすべての部分を削除すると機能します。また、(ループを介して) 1 つの長い列にしか表示できません。それを別々の列に分割するにはどうすればよいですか? または、1 つの列の場合、本のグループごとに棚ラベルを 1 回だけ表示するにはどうすればよいですか?