0
  1. このdefault_albumsテーブルは、アルバム データを格納するために使用されます。
  2. テーブルは、default_hottest_categoriesカテゴリ データを格納するために使用されます
  3. テーブルは、テーブルとテーブルdefault_album_hc_connectを接続するために使用され ます。default_hottest_categoriesdefault_albums

カテゴリに属さないすべてのアルバムを表示できるようにする必要がありますis_hottestis_hottest列は表にありdefault_hottest_categoriesます。以下のコードは、私がこれまでに持っているものです:

$q1 = $this->db->query("SELECT * FROM default_albums a, default_hottest_categories d INNER JOIN default_album_hc_connect dc
                        ON d.id = dc.hottest_categories_id INNER JOIN default_albums ON dc.albums_id = default_albums.album_id
                        WHERE d.is_hottest = 'Yes'");

これが正しいかどうかは本当にわかりません。あなたが私を助けることができれば、私はそれをとても感謝しています。

4

1 に答える 1

1

これはうまくいくはずです。FROM句に default_albums テーブルの余分なインスタンスがありました。私はそれを削除しました。また、通常、すべてのテーブルを結合したいと考えています。そこにあったコンマはCROSS JOINSに使用されますが、それほど頻繁には使用されず、この場合は必要ありません. SELECTまた、句で必要なフィールドのみを取得することをお勧めします。

SELECT * 

FROM   default_albums a

       INNER JOIN default_album_hc_connect dc
       ON a.albums_id = dc.album_id

       INNER JOIN default_hottest_categories d 
       ON dc.hottest_categories_id = d.id

WHERE  d.is_hottest = 'Yes'"
于 2013-05-23T17:14:15.043 に答える