MySQL,GROUP_CONCAT&通过...分组

时间:2012-05-03 06:53:46

标签: mysql group-by group-concat

这是我的工作查询:

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

在添加“WHERE player_id =”行之前,这是一个很好的查询。然后它返回一些没有数据的行。我该如何清理它并摆脱它们?

谢谢

1 个答案:

答案 0 :(得分:1)

一个简单的解决方案可能是将LEFT JOIN (SELECT * FROM shows_map更改为INNER JOIN (SELECT * FROM shows_map

我想你得到了一些空的NULL数据,因为你正在使用LEFT JOIN。

你的查询非常混乱。