2013-01-10 38 views
1

我查看了幾個關於此主題的帖子,但無法看到解決此錯誤。我已經鏈接服務器,我試圖包含在SQL 2008中的WHERE子句中。我能夠成功執行WHERE子句中的查詢。我相信我忽略了一些事情只是需要一些建議。多部分標識符的消息位於WHERE子句中的這一行。multipart標識符cound不受限制

LAWNURSEDB.NGDemo.dbo.EXPORT_DIRECTTIME.SocialSecurityNumber

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

您正在使用的別名在WHERE子查詢語句,但不引用它:

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

哦葉忘了引用我全部刪除別名,並使用鏈接服務器的全名。仍然得到相同的信息。 – user1966966

+0

@ user1966966如果您移除了「EXPORT_DIRECTTIME_2.SocialSecurityNumber」上的別名,您會看到錯誤嗎? – Taryn

+0

是的,我刪除表示該鏈接服務器連接的每個子句的別名。 – user1966966