在查询中加入两个mysql表?

时间:2011-11-23 09:20:37

标签: php mysql join

我的目标是准备一份时事通讯,当他们没有登录超过两周时,会向我的所有用户发送电子邮件。

要做到这一点,我需要“加入”(我认为)最后登录的日期(来自myMembers表)以及他们接收电子邮件的偏好(来自accountOptions表)。

myMembers

===============
id last_logged_date
1日期
2日期

accountOptions

===============
id uid notification1
1 1是
2 2没有

我需要在这里使用什么查询来提取?

4 个答案:

答案 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订购