1
对不起,我想不出一个更好的标题。选择最小,最大和一行有一个特殊的FK
我有一个表是这样的:
...
DATE (datetime)
PROJECT (number - this is a FK to projects table)
FROM (datetime)
TO (datetime)
...
,我需要选择最低FROM值的每一天(如时间一天的工作开始了),最大的价值(为S的工作时间一天结束)和从和为标记为“BREAK”一个项目,所以输出会是这样的:
date from to break from break to time spent
1.1.2011 9:00 17:00 12:00 13:00 7.0
这在某种程度上可能的一个选择呢?到目前为止,我有这样的:
SELECT
MIN("FROM_X") AS "FROM",
MAX("TO_X") AS "TO",
(MAX("TO_X") - MIN("FROM_X"))*24 AS TIME_SPENT,
"DAY"
FROM ATTENDANCE_HOURS
GROUP BY DAY
它需要开始和一天的工作结束的照顾,但我不知道如何具有断线的事情。
您的attendance_hours表的PK和可能英国是什么?是日期(这将是一个糟糕的选择)或日期?为什么需要在一天中进行分组/为什么在attendance_hours每天有多个记录 - 他们是否是每个项目?我不完全了解这些项目是如何实现的? – Tom 2014-10-28 07:56:40
PK是一个数字“ID”。我没有提及它,它似乎不相关。是的,该列名为DAY。那么,它代表了员工在项目上花费的时间 - 所以,每个记录都代表在一天内花费在一个项目上的X小时。从那以后,我需要提取每个人何时开始和离开工作,以及什么时候他有休息时间(也表示为一个项目)。 – Lea 2014-10-29 09:33:45