0
我有两个表,一个叫“用户”,一个叫“项目”。我正在寻找来自users.eventdate字段在3天之内的用户的ID列表。为了让事情更加复杂,我还希望看看items.startingdate是否在3天之内。复杂JOIN查询在哪里JOIN表可能没有记录
因此,如果users.eventdate在3天之内,或者现在3天内有item.startdate,则返回users.ID。用户和项目之间的关系是users.ggProjectId和items.uID。
我目前有:
$strSQL = "SELECT users.ID, users.ggProjectId, users.timezone, users.ggTimestamp, users.slug, items.uID
FROM items
JOIN users ON users.ggProjectId = items.uID
WHERE (users.eventdate <= DATE(NOW() + INTERVAL 2 DAY)
AND users.eventdate >= DATE(NOW() - INTERVAL 2 DAY)) OR
(items.startingtime <= DATE(NOW() + INTERVAL 2 DAY)
AND items.startingtime >= DATE(NOW() - INTERVAL 2 DAY))
GROUP BY users.ggProjectId";
的问题是,如果没有项目,为用户记录的话,我没有得到结果,即使我需要它,因为EVENTDATE下降的时间内帧。我认为这是杀死它的JOIN。
谢谢。这很好。 –