如何只选择特定日期的第一个冲压第4列表示那天的冲压我使用的代码是
select personfullname,personnum,eventdate,min(STARTDTM)
from VP_TIMESHEETITMV42
where eventdate ='2019-12-18 00:00:00.000'
and EMPLOYEEID = '283401'
group by personfullname, personnum, eventdate, startdtm,PAYCODENAME,DATASOURCEID

发布于 2019-12-28 01:36:31
如果只需要一行,则使用top (1)
select top (1) ts.*
from VP_TIMESHEETITMV42 ts
where ts.eventdate = '2019-12-18' and
ts.EMPLOYEEID = 283401
order by ts.stardtm;我假设employeeid是一个数字。如果是这样,则不应使用单引号作为比较值。
发布于 2019-12-28 01:37:35
如果您希望每天有一行,并且员工第一次出击,则可以使用相关子查询进行筛选:
select t.*
from VP_TIMESHEETITMV42 t
where t.startdtm = (
select min(t1.startdtm)
from VP_TIMESHEETITMV42 t1
where t1.eventdate = t.eventdate and t1.employee_id = t.employee_id
)然后,您可以在where子句中添加更多条件,以筛选特定员工和/或特定日期。
https://stackoverflow.com/questions/59504152
复制相似问题