我的问题可能没有反映我的问题,一开始对不起。我有一个问题,我需要从表中选择不同的电影名称,同时选择其ID和其他记录。但由于每部电影的ID不同,因此选择所有电影(具有相同名称)。这是查询:
$sql = "
SELECT DISTINCT
movie_id,movie_name
FROM
tbl_current_movies as cm, tbl_movie_hall as mh
WHERE
movie_active = 'active'
AND
cm.hall_id = mh.hall_id
";
$res = $this->db->returnArrayOfObject($sql,$pgin = 'no');
var_dump($res);
var_dump($res)
说:
array
0 =>
object(stdClass)[48]
public 'movie_id' => string '1' (length=1)
public 'movie_name' => string 'MIB' (length=12)
1 =>
object(stdClass)[49]
public 'movie_id' => string '2' (length=1)
public 'movie_name' => string 'Jetuka Pator Dare' (length=17)
2 =>
object(stdClass)[50]
public 'movie_id' => string '3' (length=1)
public 'movie_name' => string 'MIB' (length=12)
因为你可以看到电影MIB正在显示两次,但我想在结果中看到电影MIB只有一次!
答案 0 :(得分:1)
将您的查询更改为:
$sql = "SELECT movie_id , movie_name
FROM tbl_current_movies as cm
LEFT JOIN tbl_movie_hall mh ON cm.hall_id = mh.hall_id
WHERE movie_active = 'active'
GROUP BY movie_name
";
你不应该在WHERE子句中加入你的表,如果你不熟悉JOIN,你可以阅读一些文档:http://dev.mysql.com/doc/refman/5.0/en/join.html 这应该可以帮助你理解它们的用途。