SQL内部联接 - 检索错误的ID

时间:2012-03-29 07:38:53

标签: php sql

我尝试使用以下sql从我的数据库中检索数据。

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

我使用Inner join,因为我还从另一个表中检索电影名称。

mc = MOVIE_COMMENT table
m = MOVIE Table

我的问题是,当我尝试检索mc ID时,它给了我电影ID的原因?

4 个答案:

答案 0 :(得分: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

答案 1 :(得分:1)

您的选择列表中有m.ID。您可能需要mc.ID

答案 2 :(得分:0)

您是否尝试在select子句中将m.ID替换为mc.ID

答案 3 :(得分:0)

您将MOVIE_COMMENT表中的ID返回为mc.MOVIE_ID。 因此,当您尝试访问那里(例如,从PHP)时,您需要访问MOVIE_ID。 要求ID将返回m.ID,来自MOVIE表的ID。