0

これが私の作業クエリです:

SELECT 
d.*, g.name game, 
 (SELECT GROUP_CONCAT(p.name) FROM shows_players p 
  LEFT JOIN (SELECT * FROM shows_map) sm ON sm.player_id = p.id 
  WHERE sm.show_id = d.id AND sm.game_id = g.id) players 
FROM shows_dates d 
LEFT JOIN (SELECT * FROM shows_map 
           WHERE player_id = 5 GROUP BY show_id, game_id) m ON d.id = m.show_id 
LEFT JOIN shows_games g ON g.id = m.game_id

「WHEREplayer_id=」行を追加するまでは、すばらしいクエリです。次に、データのないいくつかの行を返します。これをクリーンアップして取り除くにはどうすればよいですか?

ありがとうございました

4

1 に答える 1

1

簡単な解決策は、おそらくに変更LEFT JOIN (SELECT * FROM shows_mapすることINNER JOIN (SELECT * FROM shows_mapです。

LEFT JOINを使用しているため、空のNULLデータを取得すると思います。

そして、あなたの質問はかなり混乱しています。

于 2012-05-03T07:03:35.620 に答える