MYSQL中的LEFT JOIN问题

时间:2014-08-21 13:25:30

标签: mysql join

我有两张表电影时间,我想显示其数据。这是我的查询

SELECT m.title,
       t.timing 
FROM Movie AS m 
LEFT JOIN timing AS t 
ON m.id=t.movie_id and t.cenema like '%Dubai Mall%'

电影

1 |幸运

2 | EXP

时序

Id | Cenema | movie_id |定时

1 |迪拜购物中心| 1 | ..

2 |迪拜购物中心| 1 | ..

对于一部电影,我有两个时间记录,所以它给我重复的结果。

我怎能避免?

3 个答案:

答案 0 :(得分:0)

DISTINCT可用于过滤重复项。

SELECT DISTINCT ... <rest of your query>

&#34; SELECT DISTINCT语句用于仅返回不同的(不同的)值。&#34; w3schools - DISTINCT

答案 1 :(得分:0)

SELECT DISTINCT 

http://dev.mysql.com/doc/refman/5.0/en/distinct-optimization.html

使用distinct。

或使用分组

答案 2 :(得分:0)

你必须

GROUP BY m.id

这样mysql知道按照电影ID将结果分组到每一行,所有查询都将如下所示:

SELECT m.title,t.timing FROM Movie AS m LEFT JOIN timing AS t 
ON m.id=t.movie_id and t.cenema like '%Dubai Mall%' GROUP BY m.id