【发布时间】:2016-10-11 14:42:26
【问题描述】:
我想在没有厨师的情况下列出人员名单。
sql表:
people_id clock_in clock_out
1 2016-10-10 06:58:01.000 2016-10-10 14:59:01.000
1 2016-10-11 06:57:02.000 2016-10-11 14:58:23.000
..
2 2016-10-10 07:51:01.000 2016-10-10 13:00:01.000
People_id:在本例中,1 = 普通工人,2 = 厨师
现在我想在 2 不存在时显示 1 工作的时间
像这样:
people_id start_working_without_chef end_working_without_chef
1 2016-10-10 06:58:01.000 2016-10-10 07:51:01.000
1 2016-10-10 13:00:01.000 2016-10-10 14:59:01.000
在这个例子中只有一名工人和一名厨师,但这必须扩展到几位工人和几位酋长
如何进行 sql 查询来解决这个问题。
【问题讨论】:
-
最后一行 (
people_id = 2) 时间在第一行时间之间,所以这并不意味着厨师在正常人工作时工作? -
能否多添加几行样表数据,调整一下预期的结果?
-
@a_horse_with_no_name sql 2008 r2
-
@Prdp 没错。我想显示有人在没有厨师的情况下工作的时间。
-
我认为你的输出现在应该有第三行了;
1 2016-10-11 06:57:02.000 2016-10-11 14:58:23.000因为此时没有厨师可用
标签: sql sql-server date time between