2010-07-23 4 views
1

Je souhaite obtenir un champ du dernier tuple que j'ai inséré dans une table à l'aide de SQL Server 2008 R2?Comment obtenir le dernier tuple d'une table avec SQL Server 2008 R2?

+0

Pourriez-vous fournir un peu plus de détails? Il est difficile de dire ce que vous demandez. – JohnFx

+0

"dernier" dans quel sens ?? Par date ?? Par ID ?? Par quoi ... –

+0

Avez-vous une colonne d'identité ou un autre moyen d'identifier la dernière ligne insérée? A moins que vous n'ayez quelque chose à 'ORDER BY', il n'y a aucun moyen de savoir dans quel ordre les lignes seront retournées. – Gabe

Répondre

4

Fondamentalement, ce que vous devez faire est:

SELECT TOP 1 (list of fields) 
FROM dbo.YourTable 
ORDER BY (some column) DESC 

Vous devez définir comment commander les données afin que vous obtenez le « dernier ». Si vous triez par chaîne, int ou datetime, vous voudrez probablement trier dans un ordre décroissant pour obtenir le plus récent en premier.

Puisque vous n'avez pas fourni de structure de table ou de noms de champs, c'est ce que nous pouvons faire de mieux ..... la prochaine fois: s'il vous plaît demander un peu plus ciblé - fournir plus de détails! Nous sommes un bon programmeur - mais pas les lecteurs. Nous ne connaissons pas votre système ou votre base de données ou votre configuration - vous devez nous le dire.

2

Il n'y a aucun moyen sans une identité ou une colonne "inserteddateTime" pour trouver ceci. Une table est une collection non ordonnée de données et seul un ORDER BY donnera un ordre définitif. Vous ne pouvez pas compter sur autre chose.

SELECT TOP 1 * 
FROM MyTable 
ORDER BY Whatever DESC 

Pouvez-vous expliquer plus sur la plus grande image s'il vous plaît?

Questions connexes