2012-03-29 2 views
0

나는 다음 데이터베이스로 내 데이터베이스에서 데이터를 검색하려고합니다.SQL 내부 조인 - 잘못된 ID를 검색

select mc.ADD_DATE,mc.MOVIE_ID,mc.COMMENT,m.ID,m.NAME 
from MOVIE_COMMENT as mc 
INNER Join MOVIE as m ON m.ID=mc.MOVIE_ID 
WHERE user_ID = " . $getUser->id . " 
    and STAT='onayli' 
ORDER BY mc.ADD_DATE DESC LIMIT " . $commentCount . " 

다른 테이블에서 영화 이름을 검색하기 때문에 내부 조인을 사용합니다.

mc = MOVIE_COMMENT table 
m = MOVIE Table 

문제점은 mcid를 검색하려고 할 때 영화 ID가 왜 생기는 것입니까?

+0

'mc.ADD_DATE, mc.MOVIE_ID, mc.COMMENT, m.ID, m.NAME'을 (를) 선택하십시오. MC.IDS가 없거나 유사한 항목이 있습니까? – dfb

+0

거기에'mc.ID'를 추가하면'm.ID'가 반환되지 않습니다. '... mc.ID AS movie_comment_ID, m.ID AS movie_ID ... ' –

답변

3

Movie_Comment ID가 필요하면 mc.ID 필드를 반환해야합니다.

SELECT mc.ID as Movie_Comment_ID, mc.ADD_DATE, mc.MOVIE_ID, mc.COMMENT, m.ID, m.NAME 
FROM MOVIE_COMMENT as mc 
INNER Join 
MOVIE as m 
ON m.ID = mc.MOVIE_ID 
+0

그게 내가 원하는거야! :) – user1277467

0

m.ID을 선택 조항에서 mc.ID으로 바꾸어 보셨습니까?

1

선택 목록에 m.ID이 있습니다. 아마도 mc.ID을 원할 것입니다.

+0

예. 광고 mc.ID 때 m.ID : s – user1277467

+0

두 가지를 입력 해보세요. 동일한 select 절에서'mc.ID as MCID'와'm.ID as MID '를 비교하여 결과에 차이가 있는지 확인하십시오. – Kosta

0

MOVIE_COMMENT 테이블에서 mc.MOVIE_ID로 ID를 반환합니다. 따라서 PHP에서 액세스하려고하면 MOVIE_ID에 액세스해야합니다. ID를 요구하면 MOVIE 테이블의 ID 인 m.ID가 반환됩니다.