如何修复不在问题中,以及如何检查这两个字段? [英] how to fix not in problem ,, and how to check for the two fields ?
本文介绍了如何修复不在问题中,以及如何检查这两个字段?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
SELECT Tbl_EmpAttendance.Emp_No,Att_Date, Att_Kind, Decription, a_name, Job_Name,
DepName, SecName, BranchName, DegName, S_Time, E_Time,S_Time1, E_Time1,Notes,
case when Att_Kind =3 or Att_Kind = 4 or Att_Kind = 5 then (case when (datediff(minute,Convert(varchar(8),Work_E_Time,8) ,convert(varchar(8),isnull(E_Time,Work_E_Time),8)) < 0) then (datediff(minute,Convert(varchar(8),Work_E_Time,8),convert(varchar(8),isnull(E_Time,Work_E_Time),8))) * -1 else 0 end ) else 0 end Early_Time,
case when Att_Kind = 2 or Att_Kind = 6 or Att_Kind = 4 then (case when (datediff(minute,Convert(varchar(8),Work_S_Time,8),convert(varchar(8),isnull(S_Time,Work_S_Time),8)) > 0) then (datediff(minute,Convert(varchar(8),Work_S_Time,8),convert(varchar(8),isnull(S_Time,Work_S_Time),8))) else 0 end) else 0 end Late_Time
into #t1
FROM Tbl_EmpAttendance INNER JOIN
TblCalendar_WorkingHours ON Tbl_EmpAttendance.Att_Date = TblCalendar_WorkingHours.Calendar_Date
INNER JOIN dbo.tblEmp_Situation ON tblEmp_Situation.Emp_No=Tbl_EmpAttendance.Emp_No
AND tblEmp_Situation.Attendance_Code = TblCalendar_WorkingHours.AttendanceType_Code
AND tblEmp_Situation.Trans_Date = (SELECT MAX(S.Trans_Date) FROM tblEmp_Situation S WHERE S.Emp_No =tblEmp_Situation.Emp_No ) Where (att_kind =2 or att_kind =4 or att_kind =6) Or (att_kind =3 or att_kind =4 or att_kind =5) Or (att_kind =5 or att_kind =7 or att_kind =12) Or (att_kind =6 or att_kind =8 or att_kind =11) Or (att_kind =10) And WorkingType_Code = 1 ORDER BY Emp_No asc ,Att_Date desc
--********************* Start Of Error *****************************************
select * from #t1 where emp_no AND Att_Date not in( select emp_no ,AttDate from AttendanceNotices)
--********************* End ***************************************************
drop table #t1
<pre lang="SQL">
推荐答案
尝试这样的事情:
Try something like this:
SELECT
*
FROM
#t1 As T
WHERE
Not Exists
(
SELECT 1
FROM AttendanceNotices As A
WHERE A.Emp_No = T.Emp_No
And A.AttDate = T.Att_Date
)
这篇关于如何修复不在问题中,以及如何检查这两个字段?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文