我有2个表,一个是表A,它存储Resources Assign工作一段时间。结构如下
Name StartDate EndDate
Tan 2015-04-01 08:30:00.000 2015-04-01 16:30:00.000
Max 2015-04-01 08:30:00.000 2015-04-01 16:30:00.000
Alan 2015-04-01 16:30:00.000 2015-04-02 00:30:00.000
第二个表B存储项目处理时间。结构如下
Item ProcessStartDate ProcessEndDate
V 2015-04-01 09:30:10.000 2015-04-01 09:34:45.000
Q 2015-04-01 10:39:01.000 2015-04-01 10:41:11.000
W 2015-04-01 11:44:00.000 2015-04-01 11:46:25.000
A 2015-04-01 16:40:10.000 2015-04-01 16:42:45.000
B 2015-04-01 16:43:01.000 2015-04-01 16:45:11.000
C 2015-04-01 16:47:00.000 2015-04-01 16:49:25.000
我需要选择在2015-04-01 16:40:00和2015-04-01 17:30:59处理的项目。除此之外,我需要知道在这段时间内分配了多少资源来处理项目。我只知道开始日期是2015-04-01 16:00:00,结束日期是2015-04-01 17:30:59。我如何从两个表中选择数据。不需要JOIN,只需要单独选择。
另一个项目处理时间是2015-04-01 10:00:00和2015-04-04 11:50:59。
预期的结果是
Name StartDate EndDate
Alan 2015-04-01 16:30:00.000 2015-04-02 00:30:00.000
Item ProcessStartDate ProcessEndDate
A 2015-04-01 16:30:10.000 2015-04-01 16:32:45.000
B 2015-04-01 16:33:01.000 2015-04-01 16:35:11.000
C 2015-04-01 16:37:00.000 2015-04-02 16:39:25.000
情景2预期结果
Name StartDate EndDate
Tan 2015-04-01 08:30:00.000 2015-04-01 16:30:00.000
Max 2015-04-01 08:30:00.000 2015-04-01 16:30:00.000
Item ProcessStartDate ProcessEndDate
Q 2015-04-01 10:39:01.000 2015-04-01 10:41:11.000
W 2015-04-01 11:44:00.000 2015-04-01 11:46:25.000
我已修改了一点要求。 请帮助。
答案 0 :(得分:0)
这应该有效:
select *
from tableB
where ProcessStartDate>'2015-04-01 16:00:00'
and
ProcessEndDate<'2015-04-01 17:30:59'
要获得tableA的结果,您有两个选项,具体取决于您需要做什么。