私は以下のように4つのテーブルを持っています。オークションロットテーブルのすべてのレコードを取得しているうちに、すべてのロットを入札テーブルにフェッチしようとしています。グループを持つ複数のテーブルのMySqlクエリ
私が試したクエリも、使用されているdb構造とともに以下に示します。
Auctions (id, name)
id | name
-----------
1 | auction1
2 | auction2
Auction_lots (id, name, auction_id)
id | name | auction_id
---------------------------------
1 | lot1 | 2
2 | lot2 | 2
3 | lot3 | 2
4 | lot4 | 2
5 | lot5 | 2
Bids (id, user_id, auction_id, lot_id)
id | user_id | auction_id | lot_id
--------------------------------------------
1 | 1 | 2 | 5
2 | 1 | 2 | 3
3 | 1 | 2 | 1
4 | 1 | 2 | 2
Users(id, name)
id | name
-----------
1 | user1
2 | user2
私はオークション名、ロット名とユーザの詳細
を持つユーザーに置か入札は、私はすべての多くを取得中
select PB.*, U.*, A.name as auc_name, AL.name as lot_name
from auctions as A INNER JOIN
auction_lots as AL
ON A.id = AL.auction_id RIGHT JOIN
phone_bids as PB
ON AL.auction_id = PB.auction_id INNER JOIN
users as U
ON PB.user_id = U.id
WHERE U.id =".$user_id."
GROUP BY lot_name
私はちょうど入札テーブルの多くを必要としようとしたすべてのauction_lotsを必要とする
なぜその右結合を追加しますか?集計関数がなくてグループを追加したので、それらを削除しました –