如何在sql server 2008中显示非公共行?

Mar*_*rsh 2 sql sql-server-2008

我正在使用sql server 2008.我有三个表tableA,tableB和表C.在表A中,我有两列,一个是Employeeid,另一个是Projectid.在表B中,我有两列,一列是employeeid,另一列是Employeename.在表C中,我有两列,一列是projectid,另一列是项目名称.

我使用以下查询来显示tableA和表B中的非公共行(不匹配的Employeeid)

   SELECT A.EmployeeID FROM A 
   EXCEPT
   SELECT B.EmployeeID FROM B
Run Code Online (Sandbox Code Playgroud)

除了Employeeid之外,我还希望显示projectname.即)我需要这样的:

    Employeeid|projectname
    1         |ABC
    2         |XYZ
Run Code Online (Sandbox Code Playgroud)

谁能告诉我如何使用sql server 2008做到这一点?

JNK*_*JNK 5

我只想用一个NOT EXISTS:

SELECT A.EmployeeID, C.ProjectName
FROM A
INNER JOIN C
    ON A.ProjectID = C.ProjectID
WHERE NOT EXISTS (SELECT 1 FROM B WHERE EmployeeID = A.EmployeeID)
Run Code Online (Sandbox Code Playgroud)