0

私の質問は私の問題を反映していない可能性があります。最初は申し訳ありません。問題があります。テーブルから個別の映画名を選択し、その 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 は 2 回表示されていますが、ムービー MIB の結果を 1 回だけ取得したいと考えています。

4

1 に答える 1

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 それは、それらが何のためにあるのかを理解するのに役立つはずです。

于 2012-11-15T04:59:33.390 に答える