抱歉我的英语不好。我有两个表:tblemployees(employeeid)和tbloffices:officeid,employeecode,activeposition
基本上,tbloffices包含员工曾经工作过的公司的办事处列表。他/她只能在一个办公室工作一段时间(因此,每个员工只能在一个办公室工作一次)。有些员工可以在tbloffices上记录,但目前没有活跃的办公室。有些员工可能根本没有tbloffies的记录(例如等待重新安置)。
我的查询需求是:返回employeeid和activeposition = 1(如果存在)。否则,返回最新位置。如果不存在记录,则当然返回NULL:
我尝试了以下查询:
SELECT employeeid, officeid, activeposition
FROM tblemployees
LEFT
JOIN tbloffices
ON(tbloffices.employeecode = tblemployees.employeeid)
GROUP
BY employeeid
该查询适用于tbloffices中没有引用的行。我如何以我想要的方式为每位员工返回一条记录?我已经尝试过了:
(officeid is NULL OR activeposition=1)
但对于有记录但没有活跃职位的员工来说却失败了。