首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL查询为google提醒查找给定期间的提醒

SQL查询为google提醒查找给定期间的提醒
EN

Stack Overflow用户
提问于 2021-10-09 13:52:43
回答 1查看 207关注 0票数 0

我正在尝试一个表格的设计和任命的逻辑,类似谷歌日历提醒。

要求存储多个用户的单一提醒和重复提醒,并在给定时间内查找提醒,以便在日历中查看。

表:-约会

代码语言:javascript
复制
appointment_id,
user_id,
start_date,
end_date,   --> End date for the repeat reminder. Null means never ending
start_time,
end_time

表:- appointment_frequency

代码语言:javascript
复制
appointment_id,
frequency_type,  --> D(Daily),W(Weekly),M(Monthly),Y(Yearly)
interval, --> Every 3 days, Every 2 weeks, Every 4 Months, ...
sunday, --> Weekly interval that happens on Sundays
monday,
tuesday,
wednesday,
thursday,
friday,
saturday, --> Weekly interval that happens on Saturdays
on_day,   --> On 5th day of each Month, ...
on_week,  --> On 1st week of each Month, On 2nd week of each month
on_last_week, --> On last week of the month
max_repeat. --> Maximum repeat time

有什么更好的方法来储存这个吗?

现在,我需要找到这段时间的提醒?例如,在10月1日至15日之间查找用户1和2的提醒。

目前,我正在为一个用户获取所有提醒,然后运行一个java代码来查找这个时间段的提醒。有什么方法可以使用SQL查询吗?

http://sqlfiddle.com/#!9/b540da/5

我想要的输出是,

代码语言:javascript
复制
reminder_id, user_id, name, Date, Start_time, End_time

每天的提醒没有结束日期,

当我说,给我提醒b/w 10/15/21和10/12/21,

它必须返回多个条目,因为每天提醒将发生在日历中。

EN

回答 1

Stack Overflow用户

发布于 2021-10-09 15:13:23

您可以在mysql中创建一个PROCEDURE,也可以使用Java (因为这是您在注释中提到的编程语言)循环遍历日期范围,创建一个UNION查询并运行一次。

代码语言:javascript
复制
String sqlstatement = "";

for (LocalDate date = startDate; date.isBefore(endDate); date = date.plusDays(1))
{
    sqlstatement += "SELECT a.appointment_id as reminder_id, a.usr_id as user_id, '"+date+"' as date, a.st_time as Start_time, a.end_time as End_time FROM appointment a LEFT JOIN appointment_frquency af ON a.appointment_id = af.appointment_id WHERE '"+date+"' >= a.st_date AND '"+date+"' <= a.end_date UNION";
}

sqlstatement = sqlstatement.substring(0, sqlstatement.lastIndexOf(" UNION"));

在for循环之后,您需要从字符串中删除最后一个UNION,然后可以运行查询。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69507341

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档