我有表電影,movie_client,language_movie,語言,subtitle_movie和字幕MySQL查詢表連接給人重複的行
我要選擇與自己的字幕和語言的所有電影,其中的client_id(在movie_client)爲1
SELECT * FROM movie
LEFT OUTER JOIN movie_client
ON movie.movie_id = movie_client.movie_client_id
LEFT OUTER JOIN client
ON movie_client.client_movie_id = client.client_id
LEFT OUTER JOIN language_movie
ON movie.movie_id = language_movie.movie_id
LEFT OUTER JOIN language
ON language_movie.language_id = language.language_id
LEFT OUTER JOIN subtitle_movie
ON movie.movie_id = subtitle_movie.movie_id
LEFT OUTER JOIN subtitle
ON subtitle_movie.subtitle_id = subtitle.subtitle_id
WHERE client.client_id=1
這不會工作因爲我得到重複的行我試圖內部連接作爲膨脹,但它只是不會工作。任何人都可以幫助我正確的查詢?
移動' client.client_id = 1'條件它是'ON'子句以獲得真正的左連接行爲。現在您可以定期獲得內部連接結果。 – jarlh
如果電影中有兩種語言的字幕,或者是兩種語言,您將獲得該電影兩次。這是預期的結果。如果你想要每部電影只有一次,你必須描述如何選擇語言,字幕等。 – jarlh