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做到这一点?
我只想用一个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)
| 归档时间: |
|
| 查看次数: |
144 次 |
| 最近记录: |