1

この件に関するいくつかの投稿を確認しましたが、このエラーの解決を確認できませんでした。SQL 2008 の WHERE 句に含めようとしているリンク サーバーがあります。WHERE 句なしでクエリを正常に実行できました。私は何かを見落としていると確信しており、アドバイスが必要です。マルチパート識別子のメッセージは、WHERE 句のこの行にあります。

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))
4

1 に答える 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)
于 2013-01-10T15:54:45.623 に答える