J'écris des requêtes SQL Server et j'ai besoin d'une solution pour filtrer les lignes retournées correctement.T-SQL - Filtrage des enregistrements basés sur une date
La configuration de base est la suivante - Je sélectionne un groupe d'enregistrements à partir d'une table basée principalement sur un identifiant. Ainsi, pour un identifiant donné, il peut y avoir 100 enregistrements qui sont retournés initialement. Dans ces 100 enregistrements, cependant, il y en a plusieurs qui doivent être supprimés - pas parce qu'ils sont en double, mais parce que l'un est plus récent que l'autre. J'ai donc essentiellement besoin d'un moyen de filtrer davantage les résultats en fonction de l'enregistrement/modification le plus récent. Je sais qu'idéalement, ces "anciens" enregistrements ne devraient pas être dans la base de données, mais je n'ai aucun contrôle sur cela. Ce qui se passe, c'est que les gens mettent à jour les entrées au fil du temps pour refléter les nouvelles informations, mais plutôt que d'éditer l '"ancienne" entrée, une nouvelle est saisie à chaque fois. Ainsi, il peut y avoir 3 entrées pour un identifiant donné, mais j'ai seulement besoin de celui qui a été le plus récemment entré.
Existe-t-il un moyen facile de le faire dans la chaîne de requête T-SQL? Ce serait similaire à la fonction "Last of" dans les requêtes Access. J'ai une colonne de date correctement formatée pour chaque enregistrement.
Merci!
Ma chaîne de requête à ce jour (excusez la syntaxe VB):
"SELECT *" & _
"FROM Performance_Override " & _
"WHERE ([Deal_Name] = " & "'" & Range("ID").value & "'" & " or" & _
" [UNIQUE_ID] LIKE " & "'" & "%SPLIT_LOAN%" & "')" & " AND" & _
" ([Scenario] = " & "'" & "BASE" & "')" & _
"ORDER BY [Date] ASC; "
Voulez-vous dire comme ça? http://stackoverflow.com/questions/1313120/retrieving-the-last-record-in-each-group –
Vous pouvez simplement sélectionner la valeur max de la colonne DateTime avec cet id et ensuite faire une déclaration en supprimant tout ce qui est inférieur à date avec le même identifiant. –
Si vous nous montrez la requête que vous avez jusqu'à présent, cela peut aussi aider. – offthat