表x
X-ID
用户ID
STARTDATE
结束日期
表Y
Y型ID
用户ID
登录ID
STARTDATE
结束日期
在表x中,用户只有一个条目,但在表y中,同一个用户可以有多个条目。
从x-id中选择*,其中enddate BETWEEN DATE(CURDATE()) AND DATE_ADD(CURDATE(),INTERVAL 7 DAY)
在此查询中,如果表y中没有条目,我需要在接下来的7天内检查表x enddate。 但是如果在表y中存在一个条目,我需要检查表y中最新条目的结束日期而不是x 怎么做?
答案 0 :(得分:1)
SELECT x.*
FROM x
LEFT JOIN
y
ON y.userid = x.userid
GROUP BY
x.id
HAVING COALESCE(MAX(y.enddate), x.enddate) BETWEEN CURDATE() AND CURDATE() + INTERVAL 7 DAY