2013-01-10 2 views
1

이 주제에 대한 여러 게시물을 검토했지만이 오류를 해결할 수 없었습니다. SQL Server 2008의 WHERE 절에 포함하려는 서버를 연결했습니다. WHERE 절을 사용하여 쿼리를 성공적으로 실행할 수있었습니다. 내가 간과 한 것은 조언이 필요하다는 것입니다. multipart 식별자에 대한 메시지는 WHERE 절의이 줄에 있습니다.멀티 파트 식별자 묶을 수 없음

당신은 WHERE 절 하위 쿼리에 별칭을 사용하고 있지만, 그것을 참조하지 않는

SELECT  dbo.VP_PUNCHORIGIN.PERSONNUM, EXPORT_DIRECTTIME_1.SocialSecurityNumber,   dbo.VP_PUNCHORIGIN.PERSONFULLNAME 
FROM   dbo.VP_PUNCHORIGIN INNER JOIN 
        LAWNURSEDB.NGDemo.dbo.EXPORT_DIRECTTIME AS EXPORT_DIRECTTIME_1 ON 
        dbo.VP_PUNCHORIGIN.PERSONNUM = EXPORT_DIRECTTIME_1.SocialSecurityNumber 
WHERE  (dbo.VP_PUNCHORIGIN.PERSONNUM NOT IN 
         (SELECT  LAWNURSEDB.NGDemo.dbo.EXPORT_DIRECTTIME.SocialSecurityNumber AS Expr1 
         FROM   LAWNURSEDB.NGDemo.dbo.EXPORT_DIRECTTIME AS EXPORT_DIRECTTIME_1)) 

답변

2

LAWNURSEDB.NGDemo.dbo.EXPORT_DIRECTTIME.SocialSecurityNumber :

SELECT p.PERSONNUM, 
    EXPORT_DIRECTTIME_1.SocialSecurityNumber,   
    p.PERSONFULLNAME 
FROM dbo.VP_PUNCHORIGIN p 
INNER JOIN LAWNURSEDB.NGDemo.dbo.EXPORT_DIRECTTIME AS EXPORT_DIRECTTIME_1 
    ON p.PERSONNUM = EXPORT_DIRECTTIME_1.SocialSecurityNumber 
WHERE p.PERSONNUM 
     NOT IN (SELECT EXPORT_DIRECTTIME_2.SocialSecurityNumber 
       FROM LAWNURSEDB.NGDemo.dbo.EXPORT_DIRECTTIME AS EXPORT_DIRECTTIME_2) 
+0

오 예치가 나는 것을 참조하는 것을 잊었다 별칭을 모두 제거하고 링크 서버에 fullname을 사용했습니다. 여전히 같은 메시지를 얻습니다. – user1966966

+0

@ user1966966'EXPORT_DIRECTTIME_2.SocialSecurityNumber'에서 별명을 제거하면 오류가 발생합니까? – Taryn

+0

예 연결된 서버 연결을 나타내는 각 절에서 별칭을 제거합니다. – user1966966

관련 문제