AIDE avec requête SQL impliquant deux tables et une date maximale

J'ai deux notifications de tables et mailmessages.

Table des notifications
– NotifyTime
– NotifyNumber
– Numéro de count

Table MailMessages
– id
– Objet du message
– MessageNumber
– Numéro de count

Mon but est de créer une seule requête sql pour récupérer des lignes distinctes de mailmessages où le numéro de count est un nombre spécifique ET le notifynumber = messagenumber ET seulement le plus récent notifytime de la table de notifications où les numéros de count correspondent dans les deux tables.

J'utilise sqlexpress2008 comme back-end sur une page asp.net. Cette requête doit renvoyer des messages distincts pour un count avec uniquement la date la plus récente dans la table des notifications.

S'il vous plaît aider! Je vais t'acheter une bière !!!

Essaye ça…

SELECT MM.MaxNotifyTime, Notify.MaxNotifyTime FROM MailMessages MM INNER JOIN (SELECT Max(NotifyTime) MaxNotifyTime, AccountNumber FROM Notifications GROUP BY AccountNumber) Notify ON (MM.AccountNumber=Notify.AccountNumber) WHERE (MM.AccountNumber=1) 
 SELECT MM.MessageNumber, MAX(N.NotifyTime) MaxTime FROM MailMessages MM INNER JOIN Notifications N ON MM.AccountNumber = N.AccountNumber AND MM.MessageNumber = N.NotifyNumber WHERE MM.AccountNumber = 1 GROUP BY MM.MessageNumber 

Cela se limite au AccountNumber donné (= 1) et génère chaque MessageNumber associé avec la date de l'input correspondante la plus récente dans Notifications.