如何修复不在问题中,以及如何检查这两个字段? [英] how to fix not in problem ,, and how to check for the two fields ?

查看:60
本文介绍了如何修复不在问题中,以及如何检查这两个字段?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆