【发布时间】:2015-05-20 08:07:51
【问题描述】:
我有一个表EmpJob 列出了员工、已完成的工作和已完成工作的次数(列:EmpID、JobID、Total)。我有另一个查找表Jobs,它列出了所有作业(列:JobID、JobDesc)。雇员不得从事所有工作。我的要求是向所有员工展示所有工作,其中未完成工作的计数为零。
我对此一无所知。我尝试在WHERE 子句中使用IF EXISTS 子句或NOT EXISTS,但这并没有给我正确的结果。
这是一个例子:
Jobs表:
JobID | JobDesc
---------------
1 | Job1
2 | Job2
3 | Job3
EmpJob表:
EmpID | JobID | Total
Emp1 | 1 | 3
Emp1 | 3 | 5
Emp2 | 2 | 6
结果应该是3 Jobs x 2 Employees = 6 records as
Emp1 | Job1 | 3
Emp1 | Job2 | 0
Emp1 | Job3 | 5
Emp2 | Job1 | 0
Emp2 | Job2 | 6
Emp2 | Job3 | 0
有人可以提出查询吗?提前致谢。
【问题讨论】:
标签: sql sql-server-2008 tsql