我想基于创建的日期检索最新的记录列表,以下是我的查询,如果删除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