比较,如果日期在SQL Server的两个日期之间
问题描述:
请参阅本如果可能的话在SQL Server:比较,如果日期在SQL Server的两个日期之间
我有两个表具有以下属性:
表一个
AId prm_code dateTrom dateTo
1 sql/mn/01 01/01/2017 30/03/2017
2 sql/mn/01 01/04/2017 30/06/2017
表B
BId prm_code qty price tDate
1 sql/mn/01 10 10 03/01/2017
2 sql/mn/01 1 11 03/01/2017
3 sql/mn/01 12 100 05/01/2017
4 sql/mn/01 5 50 10/02/2017
5 sql/mn/01 20 10 15/03/2017
现在我想创建一个查询从表得到援助一个,并从表乙所有其他行像以下时,从表B中的tDate表一个 dateFrom和dateTo之间下降
BId prm_code qty price tDate AId
1 sql/mn/01 10 10 03/01/2017 1
2 sql/mn/01 1 11 03/01/2017 1
3 sql/mn/01 12 100 05/01/2017 1
4 sql/mn/01 5 50 10/02/2017 1
5 sql/mn/01 20 10 15/03/2017 1
感谢
答
是的,你可以使用JOIN 与之间
SELECT B.BId, B.price, B.qty, B.prm_code, B.tDate, A.AId
FROM [dbo].[TableA] AS A
JOIN [dbo].[TableB] AS B
ON B.tDate BETWEEN A.dateFrom AND A.dateTo
+0
好看,以前从来没有见过,ON ... BETWEEN,我在表B中增加了一个额外的行,以查看它并生成了AID 2,这很好。 – russ
[XKCD PSA ISO 8601(https://xkcd.com/1179/) – SqlZim
你为什么要跳过3月31日?你试过什么了?请发布您的查询。 –