-3

我是 SQL 的初学者。我有一张这样的出席表:

ID--EID ---- PunchIn --------POut
1---101-----'2012-05-01 07:30: 00'-----'2012-05-01 10:00:00'
2---101-----'2012-05-01 13:30:00'-----'2012-05 -01 19:00:00'
3---102-----'2012-05-01 07:45:00'-----'2012-05-01 17:30:00'
4-- -103-----'2012-05-01 08:00:00'-----'2012-05-01 18:30:00'

如何编写会产生如下内容的查询:

ID--EID ---- PunchIn --------POut
1---101----- '2012-05-01 07:30: 00'-----'2012-05-01 19:00:00'
3---102-----'2012-05-01 07:45:00'-----'2012-05 -01 17:30:00'
4---103-----'2012-05-01 08:00:00'-----'2012-05-01 18:30:00'

谢谢你

4

2 回答 2

0

好吧,我不确定,但是如果您只想折叠关于同一日期和同一个人的所有拳,您可以使用 group by,因此,如果表名是 PUNCHES:

SELECT ID, EID, MIN(PunchIn), MAX(POut)
FROM PUNCHES
GROUP BY ID, DATE(PunchIn);
于 2012-06-05T09:53:43.243 回答
0
SELECT ID, EID, MIN( PunchIn ) , MAX( POut )
FROM PUNCHES
GROUP BY EID

你可以试试这个。

于 2012-07-14T14:42:23.013 回答