2016-05-06 7 views
0

私は以下のクエリの問題は何もありません。 1行ではなく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

...そして、これらの表は、他の結果とデカルト製品を作り出すことができる tttbl_review_language RL, tttbl_censor_certificate CC and tttbl_movie Mの間を持っています、 'INNER JOIN'よりも – Takarii

+0

@ Takarii、JOINをINNER JOINに変更しても12行を返します。 – Janaki

+0

結合と内部結合は同じです – scaisEdge

答えて

2

あなたがいないon condition私はあなたが参加するの上部に持って `JOIN`を示唆している

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 
関連する問題