J'ai deux tables:requête MySQL sélectionnez
t1
____________
projectID
userID
projectExpiration
t2
____________
usrID
subscriptioID
subscriptionExpiration
Je dois sélectionner porject ID de T1 lorsque les conditions suivantes sont réunies:
t1.projectExpiration = older then 3 months
t2.subscriptioID = '5'
t2.expiration = older then 3 months
L'utilisateur peut avoir d'autres abonnements en t2. J'ai seulement besoin des résultats où ils ont une seule entrée d'abonnement qui a un ID de '5'
J'ai besoin d'aide pour tout rassembler.
Voici ce que j'ai jusqu'à présent:
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)
impression que je suis coincé ...
Vous faites référence à "seulement" si elles ont un abonnement unique ID = 5 ... Est-ce que cela signifie que si l'utilisateur a 1, 2, 3 et 5 vous voulez passer cette personne ??? ou vouliez-vous dire que vous voulez seulement ceux qui ont et ID 5 indépendamment de tout autre abonnement qu'ils peuvent avoir aussi ... deux requêtes différentes ... Aussi, que se sont-ils abonné à 5, mais un était déjà expiré, et ils ont un autre plus d'abonnement actuel à # 5 - voulez-vous ça ??? – DRapp
Oui, passez s'ils ont d'autres abonnements. – santa
Police de grammaire ici: l'utilisation correcte est «que». Comme dans "Si il est plus vieux que 3 mois, alors il est expiré" – dar7yl