-1

私はデータフォーム3を取得したいテーブルを指定します

  • UserDetail(Fname,Lname,User_id),
  • 映画(映画_id,映画名)
  • UserLikedMovies(User_id,Movie_id)

ユーザーが特定の Movie_id を入力すると、Userid Fname Lname form User detail MovieName from Movies,, これが私が試したことです

SELECT UserDetail.FName
FROM 
UserDetail UserDetail
INNER JOIN
UserLikedMovies UserLikedMovies
ON 
UserDetail.User_id = UserLikedMovies.User_id
INNER JOIN
(
    SELECT
        Movies.MovieName,
        Movies.Movie_id
    FROM
       Movies Movies
    INNER JOIN
        UserLikedMovies UserLikedMovies
        ON 
        Movies.Movie_id =  UserLikedMovies.Movie_id
    INNER JOIN
       UserDetail UserDetail
        ON 
        UserLikedMovies.User_id =  UserDetail.User_id
    WHERE
        Movies.Movie_id IN ( Select UserLikedMovies.Movie_id from UserLikedMovies where UserLikedMovies.Movie_id = 4)
) as ABC
ON UserLikedMovies.Movie_id = ABC.Movie_id
AND Movies.Movie_id = ABC.Movie_id
4

2 に答える 2

0

それは非常に単純なクエリです:

SELECT ud.`User_id`, ud.`Fname`, ud.`Lname`, m.`MovieName`
FROM `Movies` m 
RIGHT JOIN `UserLikedMovies` ulm ON ulm.`Movie_id` = m.`Movie_id`
LEFT JOIN `UserDetail` ud ON ud.`User_id` = ulm.`User_id`
WHERE m.`Movie_id` = 4

この単純なタスクに恐ろしいサブクエリを使用している理由がわかりません。

于 2013-10-13T18:48:26.823 に答える