我有以下两个表:SQL查询改变
1)表名:周期
+----------+
| PeriodID |
+----------+
| 1 |
| 2 |
| 3 |
| 4 |
+----------+
2)表名称:值
+-------------+--------+
| StartPeriod | Amount |
+-------------+--------+
| 1 | 100 |
| 3 | 200 |
+-------------+--------+
第一个表表示时间期间,如月。第二张表格表示每个月的金额,但仅限于与上个月不同的金额。金额从100开始,第2期保持在100,然后在第3期开始时跳到200,之后保持在200。
我需要一个查询(MySQL的)返回的金额每个时期,像这样:
+----------+--------+
| PeriodID | Amount |
+----------+--------+
| 1 | 100 |
| 2 | 100 |
| 3 | 200 |
| 4 | 200 |
+----------+--------+
所以查询将返回最新StartPeriod的数量,在值表使用小于或等于PeriodID。例如,对于PeriodID 2,它将返回Amount for StartPeriod 1,因为StartPeriod2没有值,1是小于或等于2的最大值,该值在值表中具有Amount。
(对不起,表格太难看了)
谢谢!
为什么不喜欢的事情startPeriod = 2,金额为100添加记录?看起来有点傻,不得不依赖更复杂的查询结构,因为您尚未设置数据以允许有效查询。 –