比较日期是否介于 SQL 服务器中的两个日期之间
comparing if a date falls between two dates in SQL Server
如果可能,请在 SQL 服务器中查看:
我有两个具有以下属性的表:
Table A
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
Table 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
现在我想创建一个查询以从 Table A 获取 AId 以及从 Table B 当来自 Table B 的 tDate 在 Table A
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 和 BETWEEN
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
如果可能,请在 SQL 服务器中查看:
我有两个具有以下属性的表:
Table A
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
Table 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
现在我想创建一个查询以从 Table A 获取 AId 以及从 Table B 当来自 Table B 的 tDate 在 Table A
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 和 BETWEEN
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