如何从此数据中查询:
parking_place | number_of_month | from_date | end_date | monthly_unit_price
A | 3 | 2018-01 | 2018-03 | 3000000
希望显示结果:
parking_place | month | monthly_unit_price
A | 2018-01 | 3000000
A | 2018-02 | 3000000
A | 2018-03 | 3000000
请建议我如何查询?
答案 0 :(得分:0)
您可以使用日历表加入:
SELECT
t.parking_place,
t.month,
t.monthly_unit_price
FROM
(
SELECT '2018-01' AS month UNION ALL
SELECT '2018-02' UNION ALL
SELECT '2018-03'
) months
INNER JOIN yourTable t
ON months.month BETWEEN t.from_date AND t.end_date
ORDER BY
months.month;
请注意,最好存储实际的有效日期文字来表示每个月。例如,您可以将'2018-01'
存储为日期文字,而不是存储文本2018-01-01
。