2011-05-06 2 views
0

오류 해결 방법 : 여러 부분으로 구성된 식별자를 바인딩 할 수 없습니다.

 Select addMovies.MovieName, GivenBy.UserName, TimeOfReview, Review 
    FROM Users, Reviews, given, addMovies 
    WHERE Reviews.ReviewId = given.ReviewId AND GivenBy.UserName = addMovies.UserName 
    ORDER BY TimeOfReview DESC 

각 테이블의 스키마는 다음과 같은 형식입니다.

 Users (UserName, Password, EmailId, Loc, Info) 
    Reviews (ReviewId, ReviewRating, Review) 
    Given (ReviewId, UserName) 
    addMovies (MovieName, UserName) 

특정 사용자가 제공 한 리뷰를 얻으려고하지만 오류가 발생합니다. :

다중 부분 식별자 "GivenBy.UserName"을 바인딩 할 수 없습니다.

다중 부분 식별자 "GivenBy.UserName"을 바인딩 할 수 없습니다.

누구든지 나에게 무슨 일이 일어 났는지 알려주시겠습니까?이 문제를 해결하려면 어떻게해야합니까?

+0

Given.UserName이 아니어야합니까? GivenBy라고 불리는 테이블이 있습니다. –

+0

테이블 (또는 테이블 참조) 'GivenBy'는 명세서의 FROM-Part에 표시되지 않습니다. – Bjoern

+0

고마움, 나는 주어진 테이블도 가지고있다, 나는 그것을 모두 뒤죽박죽이있다. 죄송합니다! – QPTR

답변

0

Given.UserName이 아니어야합니까? GivenBy라고 불리는 테이블이 있습니다.

+0

그래, 답장을 주셔서 감사합니다, 내가 잘못 생각, 지금 알아 냈어 :) – QPTR

0

GivenByFROM 절에없는 (given입니다)도 아니다 이 절에서의 것을 테이블에 대한 별칭으로 정의됩니다.

+0

답장을 보내 주셔서 감사합니다, 나는이 질문을 썼을 때 조금 어수가 많았지 만, INNER JOINS로이 쿼리를했는데 완벽하게 작동했습니다. 감사합니다. ! – QPTR

0

GivenBy라는 테이블을 선택할 수 없습니다. 아마도 :

Select addMovies.MovieName, given.UserName, TimeOfReview, Review  
FROM Users, Reviews, given, addMovies  
WHERE Reviews.ReviewId = given.ReviewId AND given.UserName = addMovies.UserName   
ORDER BY TimeOfReview DESC 
+0

답장을 보내 주셔서 감사합니다. 대신이 쿼리를 사용하여 원하는 작업에 완벽하게 작동합니다. Top 3 MovieName, TimeOfReview, UserName, GivenBy.ReviewId, Review FROM given INNER JOIN GivenBy ON given.ReviewId = GivenBy.ReviewId INNER JOIN에 대한 리뷰 Reviews.ReviewId = given.ReviewId WHERE UserName = 'Name' ORDER BY TimeOfReview – QPTR

관련 문제