我的目标是准备一份时事通讯,当他们没有登录超过两周时,会向我的所有用户发送电子邮件。
要做到这一点,我需要“加入”(我认为)最后登录的日期(来自myMembers表)以及他们接收电子邮件的偏好(来自accountOptions表)。
myMembers
===============
id last_logged_date
1日期
2日期
accountOptions
===============
id uid notification1
1 1是
2 2没有
我需要在这里使用什么查询来提取?
答案 0 :(得分:0)
select *
from myMembers m, accountOptions o
where u.notification='yes' AND m.id = o.uid
AND AND DATEDIFF(Now(), m.last_logged_date) > 14
DateDiff(date1,date2)以天为单位返回这两个日期之间的差异。
http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_datediff
答案 1 :(得分:0)
假设id为参考
select aO.id, aO.uid, m.last_logged_date from accountOptions aO inner join myMembers m on
aO.id = m.id where m.last_logged_date <= DATEDIFF(Now(), m.last_logged_date) > 14
and notification1 = 'yes'
答案 2 :(得分:0)
使用此查询加入2个表
SELECT *
FROM myMembers,accountOptions
WHERE myMembers.id = accountOptions.uid
AND id=1;
这将返回确切的结果。
答案 3 :(得分:0)
选择myMembers.last_logged_date,accountOptions.notification1 来自我的会员 INNER JOIN accountOptions 在myMembers.P_Id = accountOptions.uid 通过myMembers.id订购