按创建日期检索数据库的最新列表

时间:2018-10-30 09:56:28

标签: sql sql-server tsql

我想基于创建的日期检索最新的记录列表,以下是我的查询,如果删除datecreated=(select max (datecreated) from staffmovement),则可以从查询中检索日期列表,但是如果包含该行,则可以没有检索到数据。

select max(c.datecreated) as datecreated
    ,c.DATEMOVE
    ,C.STAFFMOVEMENTTYPECODE
    ,A.STAFFNO
    ,a.STAFFNAME
    ,a.JOINDATE
    ,a.JOINDATECOMPANY
    ,b.JOINDATESUBSIDIARY
    ,b.CONFIRMDATESUBSIDIARY
    ,b.PERMANENTEMPDATE
    ,b.PERMANENTEMPDATESUBSIDIARY
    ,a.contractstartdate
    ,a.CONTRACTEXDATE
    ,a.LASTWORKDAY
    ,a.RESIGNDATE
    ,a.retirementdate
from staff a
    ,staffextra b
    ,staffmovement c
    ,staffmovementtype d
where a.staffno = b.staffno
    and a.staffno = c.staffno
    and D.STAFFMOVEMENTTYPECODE = C.STAFFMOVEMENTTYPECODE
    and a.stafftype not in ('8' ,'9' ,'10' ,'11' ,'12' )
    and c.staffmovementtypecode not in ('25' ,'26' ,'27' ,'37' ,'97' ,'78' )    
    and a.STAFFNO = 'KT0798'
    and a.status <> 1
    and DATECREATED = (
        select MAX(DATECREATED)
        from STAFFMOVEMENT
        )
group by c.datecreated
    ,c.DATEMOVE
    ,C.STAFFMOVEMENTTYPECODE
    ,A.STAFFNO
    ,a.STAFFNAME
    ,a.JOINDATE
    ,a.JOINDATECOMPANY
    ,b.JOINDATESUBSIDIARY
    ,b.CONFIRMDATESUBSIDIARY
    ,b.PERMANENTEMPDATE
    ,b.PERMANENTEMPDATESUBSIDIARY
    ,a.contractstartdate
    ,a.CONTRACTEXDATE
    ,a.LASTWORKDAY
    ,a.RESIGNDATE
    ,a.retirementdate

0 个答案:

没有答案
相关问题