我有兩個表: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