我有两个表:MySQL查询选择
t1
____________
projectID
userID
projectExpiration
t2
____________
usrID
subscriptioID
subscriptionExpiration
我需要选择从T1,项目ID,其中满足以下条件:
t1.projectExpiration = older then 3 months
t2.subscriptioID = '5'
t2.expiration = older then 3 months
用户可以具有其他预订在T2。我只需要他们在那里拥有的“5”
我需要帮助把他们放在一起的ID单一订阅条目的结果。
这里是我到目前为止有:
SELECT projectID
FROM t1
LEFT JOIN t2 ON (t1.userID = t2.userID)
WHERE t1.projectExpiration < (CURDATE() - INTERVAL 3 MONTH)
AND t2.subscriptionExpiration = 5
AND t2.subscriptionExpiration < (CURDATE() - INTERVAL 3 MONTH)
觉得我卡住了...
你指的 “ONLY”,如果他们有ID = 5 ......的一个订阅这是否意味着如果用户有1个, 2,3和5你想跳过这个人?还是你的意思是你只希望那些谁和ID 5无论任何其他订阅,他们还可以有......两个不同的查询......还有,如果他们订阅了5,但一个已经过期,她们还有更多CURRENT订阅#5 - 你想要吗? – DRapp 2012-01-10 18:57:43
是的,如果他们有其他订阅,则跳过。 – santa 2012-01-10 19:00:11
这里的语法警察:正确的用法是'than'。正如在“如果超过3个月以上,那么它是过期的” – dar7yl 2012-01-10 20:14:54