2016-05-06 3 views
0

Я не знаю, в чем проблема с нижеследующим запросом. Он возвращает 12 строк вместо одной строки. Пожалуйста, предложите мне, правилен ли запрос ниже или нет. Если нет, исправьте проблему в нижнем запросе. Заранее спасибо.Запрос внутреннего соединения возвращает более одной строки?

SELECT 
    M.name, MR. review, MAN.running_time, MC.screen_name, MI.producer, 
    MI.director,MI.story, MI.bgm_score,MI.screenplay, MI.music, 
    MS.story, MS.screenplay, MS.dialogue, MS.direction, MS.music, MS.bgm, 
    MS.cinematography, MS.characterization, MS.shotlocation, MS.editing, 
    MS.production, MS.performance, CC.certificate FROM tttbl_review_language RL 
JOIN tttbl_censor_certificate CC 
JOIN tttbl_movie M 
INNER JOIN tttbl_movie_review MR ON MR.movie_id=M.id 
INNER JOIN tttbl_movie_analytics MAN ON MAN.movie_id=M.id 
INNER JOIN tttbl_movie_cast MC ON MC.movie_id=M.id 
INNER JOIN tttbl_movie_info MI ON MI.censor_id=CC.id AND MI.movie_id=M.id 
INNER JOIN tttbl_movie_score MS ON MS.movie_id=M.id 

WHERE M.id=1 
+0

я хотел бы предложить сво 'JOIN' у вас есть в верхней части вашего соединения, а не 'INNER JOIN' – Takarii

+0

@ Takarii, все же он возвращает 12 строк после изменения JOIN IN INER JOIN. – Janaki

+0

Присоединение и внутреннее соединение одинаковы – scaisEdge

ответ

2

Вы не on condition между tttbl_review_language RL, tttbl_censor_certificate CC and tttbl_movie M , то эти таблицы могли бы производить декартово произведение с другим результатом ..

select 
    M.name, 
    MR. review, 
    MAN.running_time, 
    MC.screen_name, 
    MI.producer, 
    MI.director, 
    MI.story, 
    MI.bgm_score, 
    MI.screenplay, 
    MI.music, 
    MS.story, 
    MS.screenplay, 
    MS.dialogue, 
    MS.direction, 
    MS.music, 
    MS.bgm, 
    MS.cinematography, 
    MS.characterization, 
    MS.shotlocation, 
    MS.editing, 
    MS.production, 
    MS.performance, 
    CC.certificate 
    FROM tttbl_review_language RL 
    JOIN tttbl_censor_certificate CC 
    JOIN tttbl_movie M 
    INNER JOIN tttbl_movie_review MR ON MR.movie_id=M.id 
    INNER JOIN tttbl_movie_analytics MAN ON MAN.movie_id=M.id 
    INNER JOIN tttbl_movie_cast MC ON MC.movie_id=M.id 
    INNER JOIN tttbl_movie_info MI ON MI.censor_id=CC.id AND MI.movie_id=M.i 
Смежные вопросы