2013-05-23 2 views
0
  1. default_albums 테이블은 앨범 데이터를 저장하는 데 사용됩니다.
  2. default_hottest_categories 표 카테고리 께 default_album_hc_connect 표는 default_albums 테이블과 default_hottest_categories 테이블을 연결하는 데 사용되는 데이터
  3. 를 저장하는데 사용된다.

is_hottest 카테고리의 모든 앨범을 표시 할 수 있어야합니다. is_hottest 열은 default_hottest_categories 테이블에 있습니다. 아래 코드는 지금까지 내가 가지고있는 코드입니다 :스크류 MySQL 코드 로직

$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'"); 

정말 정확한지 모르겠습니다. 그러니 도와 주시면 감사하겠습니다.

답변

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'"