Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Christian Robert
Bonjour,
Le mot clef en question n'existe pas dans SQL Server et n'a pas d'équivalent...
Pour comprendre il faut savoir qu'un table ou un jeu d'enregistrement (sans index) n'est pas trié... La dernière saisie peut être ou non le "dernier" enregistrement en fait SQL Server le met là où il y a de la place et sans index il n' y aucun tri sur la table...
Il y a une méthode plus claire pour faire ce que vous souhaitez :
SELECT TOP 1 mon_champ FROM ma_table ORDER BY mon_champ_de_tri DESC
Je récupère donc le dernier enregistrement par rapport à un tri sur un champs qui peut être une clef auto-incrémentale ou une date de saisie (champ datetime avec valeur par défaut GETDATE()) par exemple... Au moins on sait précisement la définition du "dernier" enregistrement sans risque d'erreur !
Cordialement
------------------------------ Christian Robert Winwise MCT - MCDBA - MCSD.Net
"JPG" a écrit :
Bonsoir,
Dans ACCES j'arrive à faire des regroupements sur le "dernier" enregistrement avec la syntaxe suivante :
SELECT MaTable.ChampClient, Last(MaTable.ChampMontant) FROM MaTable GROUP BY MaTable.ChampClient
afin d'obtenir pour chaque client le dernier montant saisi dans la table.
Dans SQL SERVER, je ne retrouve pas la fonction "Last". Existe-t-elle ?
Si ou laquelle est-elle ? Sinon quelle est la solution ?
Merci beaucoup pour votre aide.
JPG
Bonjour,
Le mot clef en question n'existe pas dans SQL Server et n'a pas
d'équivalent...
Pour comprendre il faut savoir qu'un table ou un jeu d'enregistrement (sans
index) n'est pas trié... La dernière saisie peut être ou non le "dernier"
enregistrement en fait SQL Server le met là où il y a de la place et sans
index il n' y aucun tri sur la table...
Il y a une méthode plus claire pour faire ce que vous souhaitez :
SELECT TOP 1 mon_champ
FROM ma_table
ORDER BY mon_champ_de_tri DESC
Je récupère donc le dernier enregistrement par rapport à un tri sur un
champs qui peut être une clef auto-incrémentale ou une date de saisie (champ
datetime avec valeur par défaut GETDATE()) par exemple... Au moins on sait
précisement la définition du "dernier" enregistrement sans risque d'erreur !
Cordialement
------------------------------
Christian Robert
Winwise
MCT - MCDBA - MCSD.Net
"JPG" a écrit :
Bonsoir,
Dans ACCES j'arrive à faire des regroupements sur le "dernier"
enregistrement avec la syntaxe suivante :
SELECT MaTable.ChampClient, Last(MaTable.ChampMontant)
FROM MaTable
GROUP BY MaTable.ChampClient
afin d'obtenir pour chaque client le dernier montant saisi dans la table.
Dans SQL SERVER, je ne retrouve pas la fonction "Last". Existe-t-elle ?
Si ou laquelle est-elle ? Sinon quelle est la solution ?
Le mot clef en question n'existe pas dans SQL Server et n'a pas d'équivalent...
Pour comprendre il faut savoir qu'un table ou un jeu d'enregistrement (sans index) n'est pas trié... La dernière saisie peut être ou non le "dernier" enregistrement en fait SQL Server le met là où il y a de la place et sans index il n' y aucun tri sur la table...
Il y a une méthode plus claire pour faire ce que vous souhaitez :
SELECT TOP 1 mon_champ FROM ma_table ORDER BY mon_champ_de_tri DESC
Je récupère donc le dernier enregistrement par rapport à un tri sur un champs qui peut être une clef auto-incrémentale ou une date de saisie (champ datetime avec valeur par défaut GETDATE()) par exemple... Au moins on sait précisement la définition du "dernier" enregistrement sans risque d'erreur !
Cordialement
------------------------------ Christian Robert Winwise MCT - MCDBA - MCSD.Net
"JPG" a écrit :
Bonsoir,
Dans ACCES j'arrive à faire des regroupements sur le "dernier" enregistrement avec la syntaxe suivante :
SELECT MaTable.ChampClient, Last(MaTable.ChampMontant) FROM MaTable GROUP BY MaTable.ChampClient
afin d'obtenir pour chaque client le dernier montant saisi dans la table.
Dans SQL SERVER, je ne retrouve pas la fonction "Last". Existe-t-elle ?
Si ou laquelle est-elle ? Sinon quelle est la solution ?