0
  1. default_albums表用于存储专辑数据。
  2. default_hottest_categories表用于存储类别数据
  3. default_album_hc_connect用于连接default_hottest_categories表与default_albums 表。

我需要能够显示属于类别 which 的所有专辑is_hottest。该is_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 表的额外实例。我删除了那个。此外,您通常希望将所有表连接在一起。您在那里的逗号用于交叉连接,但不经常使用,在这种情况下也不需要。另外,我建议您只在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 回答