【发布时间】:2021-09-14 14:00:08
【问题描述】:
我有以下表格
表 1 我有费率
表 2 我有日期
表 3 我有数据显示适用于 start 和 end
之间的费率价格我想用 SQL 查询创建 表 4,其中我有每个
汇率(来自表 1)+ 每个日期(来自表 2)+ 如果该日期存在于开始价格和结束价格之间,否则 0 显示如下表 4
我不知道如何在 SQL 查询中实现它,因为我是 SQL 新手,以及如果表之间没有关系如何链接
表 1
| Rate | ID |
|---|---|
| ConfD1 | 46 |
| ConfD2 | 47 |
表 2
| Dates |
|---|
| 15-09-2018 |
| 16-09-2018 |
| 17-09-2021 |
| 18-09-2021 |
| 19-02-2022 |
表 3
| Rate | ID | startdate | enddate | price |
|---|---|---|---|---|
| ConfD1 | 46 | 01-01-2021 | 31-10-2021 | 111 |
| ConfD1 | 46 | 01-11-2021 | 01-03-2022 | 222 |
| ConfD2 | 47 | 01-01-2021 | 31-10-2021 | 333 |
| ConfD2 | 47 | 01-11-2021 | 01-03-2022 | 444 |
| ConfD3 | 48 | 01-01-2021 | 31-10-2021 | 555 |
| ConfD3 | 48 | 01-11-2021 | 01-03-2022 | 666 |
表 4
| Rate | date | price |
|---|---|---|
| ConfD1 | 15-09-2018 | 0 |
| ConfD1 | 16-09-2018 | 0 |
| ConfD1 | 17-09-2021 | 111 |
| ConfD1 | 18-09-2021 | 111 |
| ConfD1 | 19-02-2022 | 222 |
| ConfD2 | 15-09-2018 | 0 |
| ConfD2 | 16-09-2018 | 0 |
| ConfD2 | 17-09-2021 | 333 |
| ConfD2 | 18-09-2021 | 333 |
| ConfD2 | 19-02-2022 | 444 |
【问题讨论】:
-
confD2的id是47,为什么在表2中显示为46??
-
@RobertoHernandez 复制粘贴 :) ,现已更新
标签: sql sql-server