我有一个包含进/出时间的表,现在我想检索“进/出”时间。
但是我不知道如何跨多行获取最后的时间
ID IN Time Out Time
=== ======================= =======================
A 2019-05-12 23:06:00.000 2019-05-13 03:00:00.000
B 2019-05-14 09:01:00.000 2019-05-14 11:05:00.000
C 2019-05-14 09:13:00.000 2019-05-14 17:33:00.000
D 2019-05-14 16:15:00.000 2019-05-14 16:30:00.000
E 2019-05-14 21:45:00.000 2019-05-14 22:12:00.000
ID First In Last Out
=== ======================= =======================
A 2019-05-12 23:06:00.000 2019-05-13 03:00:00.000
B,C,D 2019-05-14 09:01:00.000 2019-05-14 17:33:00.000
E 2019-05-14 21:45:00.000 2019-05-14 22:12:00.000
答案 0 :(得分:0)
您应该像这样运行表: 1)设置参数@outTime =超出rhis行的时间。 2)检查下一行:如果开始时间早于开始,则检查其进入时间:如果晚于-将@out时间设置为开始时间,然后继续进行此检查。 我写了查询\函数的想法:
@outTime = FirstRow.timeout
@inTime = FirstRow.timein
@id = ""
for(row in table)
{
if(row.timein < @outTime)
{
if(row.timeout > @outTime)
{
@outTime = row.timeout
}
@id.concatenate("," + row.id)
check next row
after this loop:
*print row(@id, @timein, @timeout)
}
check next row
}