我想使用即将发生的事件。
我的桌子
ID | Name | StartDate | Repeats
1 | Theater| 23.09.2013 | 0
2 | Cinema | 19.09.2013 | 1
3 | Dinner | 22.09.2013 | 2
4 | Theater| 20.09.2013 | 3
5 | Cinema | 19.09.2013 | 4
重复的意思:
如果重复为 0:不重复
如果重复为 1:拨号
如果重复为 2:每周
如果重复为 3:每月
如果重复为 4:每年
我找到了这个 sql 代码,但我做不到。我想参加接下来的 2 个活动。
SELECT E.Id, E.Name, E.StartDate, E.Repeats, A.ShowDate, DATEDIFF(E.StartDate, A.ShowDate) AS diff
FROM tally AS E, (
SELECT DATE_ADD('2012-12-09 00:00:00',INTERVAL Repeats DAY) as ShowDate
FROM `tally`
WHERE (DATE_ADD('2012-12-09 00:00:00',INTERVAL Repeats DAY)<='2012-12-20 00:00:00')
ORDER BY Id ASC
) A
WHERE MOD(DATEDIFF(E.StartDate, A.ShowDate), E.Repeats)=0
AND A.ShowDate>=E.StartDate
感谢您的帮助。