我有两个表,一个有员工姓名和员工代码,另一个有相同的员工代码,但有员工的到达和离开时间。后一表中的一列包含一个varchar,它说明它们是晚到还是早到,该表显示了3天和6名雇员的值。我需要使用join来显示第一个表中的第一个和第二个表中的每个列的名字,也不需要显示已经迟到了一次或多次的员工。我现在的破译代码是:
SELECT
EmpRegister.LastName,
EmpRegister.FirstName,
TimeSheet.*
FROM EmpRegister
INNER JOIN TimeSheet ON EmpRegister.ID=TimeSheet.EmpID
WHERE Flag <> 'Late'
GROUP BY Emp.ID
发布于 2015-11-24 04:52:36
我没有时间整理一组测试数据,但请尝试如下:
SELECT DISTINCT
EmpRegister.LastName,
EmpRegister.FirstName,
TimeSheet.*
FROM EmpRegister
INNER JOIN TimeSheet
ON EmpRegister.ID=TimeSheet.EmpID
WHERE NOT EXISTS (
SELECT 1
FROM TimeSheet
WHERE EmpRegister.ID = TimeSheet.EmpID
AND Flag = 'Late'
)
https://stackoverflow.com/questions/33885585
复制相似问题