我有一个表,其中包含具有如下范围的事件:
id | title | start | end
1 | Lorem | 2019-11-02 | 2019-11-03
2 | Ipsum | 2019-11-02 | 2019-11-02
3 | Dolor | 2019-11-08 | 2019-11-10
4 | Amet | 2019-11-02 | 2019-11-04我想从范围中选择所有行,但加入日期,这样我就可以为每个事件在其范围内的每一天拥有一个X行。结果应该来自我的示例表:
date | id | title | start | end
2019-11-02 | 1 | Lorem | 2019-11-02 | 2019-11-03
2019-11-02 | 2 | Ipsum | 2019-11-02 | 2019-11-02
2019-11-02 | 4 | Amet | 2019-11-02 | 2019-11-04
2019-11-03 | 1 | Lorem | 2019-11-02 | 2019-11-03
2019-11-03 | 4 | Amet | 2019-11-02 | 2019-11-04
2019-11-04 | 4 | Amet | 2019-11-02 | 2019-11-04
2019-11-08 | 3 | Dolor | 2019-11-08 | 2019-11-10
2019-11-09 | 3 | Dolor | 2019-11-08 | 2019-11-10
2019-11-10 | 3 | Dolor | 2019-11-08 | 2019-11-10我真的被困住了,不知道这是否可能发生.谢谢你的帮助!我用的是MySQL 5.7
发布于 2019-12-04 10:54:28
尝试使用具有日期字段的日历表。这样,您就可以在date字段的日历表上做一个左联接,如下所示:
SELECT
calendar_table.date_field,
my_table.date,
my_table.id,
my_table.title,
my_table.start,
my_table.end
FROM calendar_table
LEFT JOIN my_table ON my_table.date = calendar_table.date_fieldhttps://stackoverflow.com/questions/59174015
复制相似问题