2017-10-09 20 views
0

2つの日付の間にある場合には、比較可能な場合、SQL Serverでこれを参照してください。は日付がSQL Serverの

私は次の属性を持つ2つのテーブルがあります。

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から他のすべての行時に表にdateFromとdateToの間に入る表BからtDate

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 

おかげ

+1

[XKCD PSAのISO 8601](https://xkcd.com/1179/) – SqlZim

+1

なぜあなたは3月31日スキップしていますか?これまでに何を試しましたか?あなたの質問を投稿してください。 –

答えて

1

はい、あなたはBETWEENでを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

Beaut、これまで見たことがない... ... BETWEEN、私はテーブルBに余分な行を追加しました。それは良いAID 2を作りました。 – russ