Je me sens totalement stupide. Je suis rouillé avec mon sql.SQL Group Par et Rejoindre
J'ai deux tables, Message et MessageThread. Chaque message appartient à un MessageThread utilisant ParentTHreadID en tant que clé étrangère. Vous pouvez probablement voir où cela se passe.
Eh bien, je veux faire quelque chose comme ça. Je veux obtenir des colonnes des deux tables, des messages et des discussions, mais où le datecreated du message est le maximum dans ce fil. Chaque enregistrement contiendra donc les colonnes de threads et les colonnes d'un enregistrement de message le plus récent publié dans ce thread de message.
Voici ce que j'ai jusqu'ici qui me donne toutes les colonnes de fil et l'ID du message. Cela fonctionne, mais utilise une sous-requête et je devrais faire un tas d'autres sous-requêtes pour obtenir les autres colonnes. Yuck.
select t.*, (select top 1 m.ID from Message m where m.ParentThreadID = t.ID order by DateCreated desc) as MessageID
from MessageThread t
points de bonus à tous ceux qui peuvent non seulement me donner sql, mais LINQ to SQL ou LINQ to NHibernate.
Merci, Craig
Je suppose que c'est assez impossible dans linq? – fregas
Probablement pas, mais je ne parle pas couramment linq. – Blorgbeard