
以下のテーブルAとテーブルBからテーブルCを抽出したいのですが、JOIN の条件がわからず、うまく抽出することができないため教えていただきたいです。
【テーブルA】
NO, 売上日
1, 2023-04-16
2, 2023-05-16
3, 2023-06-16
【テーブルB】
適用日, 消費税
2023-04-01, 0.01
2023-04-15, 0.02
2023-05-01, 0.03
2023-05-15, 0.04
2023-06-01, 0.05
2023-06-15, 0.06
【求めたいテーブル(テーブルAとテーブルBをJOINした結果)】
NO, 売上日, 消費税
1, 2023-04-16, 0.02
2, 2023-05-16, 0.04
3, 2023-06-16, 0.06
【現在のSQL】
SELECT
テーブルA.NO
,テーブルA.売上日
,テーブルB.消費税
FROM テーブルA
LEFT JOIN テーブルB
ON テーブルB.適用日 <= テーブルA.売上日
【実行結果】
NO, 売上日, 消費税
1, 2023-04-16, 0.01
1, 2023-04-16, 0.02
2, 2023-05-16, 0.01
2, 2023-05-16, 0.02
2, 2023-05-16, 0.03
2, 2023-05-16, 0.04
3, 2023-06-16, 0.01
3, 2023-06-16, 0.02
3, 2023-06-16, 0.03
3, 2023-06-16, 0.04
3, 2023-06-16, 0.05
3, 2023-06-16, 0.06
テーブルB.適用日 <= テーブルA.売上日、の条件の中で最も新しい適用日の消費税のみをJOINしたいですが、書き方がわかりません。


回答3件
あなたの回答
tips
プレビュー