0
获取的开始和结束日期,我在我的数据库中的两个表:MySQL数据范围从另一个表
日期
id | startdate | peakdate
1 | 2017-07-03 | 2017-05-29
大环
id | date |
1 | 2017-07-03 |
2 | 2017-07-10 |
3 | 2017-07-17 |
我现在用的是接下来为两个日期之间的所有日期生成行:
select a.date
from (
select curdate() - INTERVAL (a.a + (10 * b.a) + (100 * c.a)) Week as date
from (select 0 as a union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6 union all select 7 union all select 8 union all select 9) as a
cross join (select 0 as a union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6 union all select 7 union all select 8 union all select 9) as b
cross join (select 0 as a union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6 union all select 7 union all select 8 union all select 9) as c
) a
where a.date between '2017-07-03' and '2018-01-24'
如果我希望'2017-01-20'和'2018-01-24'被日期表中的startdate和peakdate读取的值所取代,我该怎么办?我还需要显示在Macrocycle表中生成的日期以及它旁边的id,而不是它所做的临时表。请有任何想法吗?
所有我得到的是 – Seef
你想说的话在当前日期后的第一个星期一的日期?有什么问题吗? –
我希望它从日期表中获取startdate和peakdate值,然后为这两个日期之间每周的星期一的日期创建一行。此列必须是Macrocycle表的一部分,并且也必须显示其他字段。 – Seef