我有一个查询,可以总结一个月的时间,但是我有一个条件使查询变得困难。
在我们的过程之前,是要总结整个月,但是由于更改,我需要实现这一新条件。新的条件是我需要搜索2019年1月1日至2019年1月6日,直到11PM,然后该月的其余时间直到10PM。
基本上,我需要将1月1日至6日汇总到11PM,然后将1月7日至1月31日汇总至10PM,然后添加两个结果。
SELECT timeStamp, exit_coilid, exit_gaptime, new_gaptime, exit_width
FROM exitCoilData
JOIN NewGapTime
ON exitCoilData.exit_Coilid = NewGapTime.coilid
WHERE (
timeStamp > ('1/1/2019')
AND
timeStamp <= ('1/6/2019 11:00PM')
)
AND
(
timeStamp > ('1/7/2019 10:00PM')
AND
timeStamp <= DATEADD("m",1, '1/1/2019 10:00PM')
)
答案 0 :(得分:0)
写2个查询,使用不同的日期并使用“ UNION”,这两个查询中必须返回相同数量的字段和类型
SELECT firstName, lastName, company FROM businessContacts
UNION
SELECT firstName, lastName, NULL FROM nonBusinessContacts
答案 1 :(得分:0)
使用WHERE
可以简化您的BETWEEN
子句(更易于阅读:))。另外,正如已经提到的,您只需要OR
运算符(我使用的是我更熟悉的日期格式,但是与答案无关):
WHERE timeStamp BETWEEN '2019-01-01 00:00:00' AND '2019-01-06 23:00:00'
OR timeStamp BETWEEN '2019-01-07 00:00:00' AND '2019-01-31 22:00:00'