【发布时间】:2014-06-10 08:19:01
【问题描述】:
请帮助我。
我有如下数据。
现在我想根据给定的 dataetime 显示在商店的员工。
在这里,emp 早上 9 点来,11 点离开。他又在 12.30 pm 上班,19 点离开。我将数据时间设为2014-05-15 09:15:45。
对于这一次
员工在商店,但我无法获取数据。
但我无法获取数据。 请帮帮我
Empno ClockDate ClockTime ClockType
1 2014-05-15 2014-05-15 09:00:00 I
1 2014-05-15 2014-05-15 11:00:00 O
1 2014-05-15 2014-05-15 12:30:00 I
1 2014-05-15 2014-05-15 19:00:00 O
这是我的查询:
SELECT DISTINCT a.emp_a,
clock_date_1,
a.clock_time,
b.clock_time
FROM (SELECT MAX(clock_time) clock_time,
employee_no AS emp_a,
clock_date clock_date_1
FROM clock_time
WHERE clock_type = 'I'
GROUP BY clock_type,
emp_a,
clock_date)a,
(SELECT MAX(clock_time) clock_time,
employee_no AS emp_b
FROM clock_time
WHERE clock_type = 'O'
GROUP BY clock_type,
emp_b)b
WHERE '2014-05-23 09:15:45' BETWEEN a.clock_time AND b.clock_time
AND a.emp_a = b.emp_b
AND a.emp_a = 1
【问题讨论】:
-
这个问题缺乏足够的信息来诊断问题。考虑与所需的结果集一起提供适当的 DDL(和/或 sqlfiddle)。
-
嗨草莓,考虑上表。我有这样的数据。现在我需要在 '2014-05-23 09:15:45' 时间获取 empid 1 信息的数据。如果他在我给定的时间内有空,我的查询必须显示 emp 数据。但是根据我的查询 inpt time hes theres in store.But 我无法获取数据。请帮忙
-
我将 OP 参考我刚才提供的评论。
-
为什么会有一个与
DATE(clock_time)等效的clock_date字段?