Bonjour à tous.
J'ai une table pesée avec des enregistrements. Je souhaite récupérer le dernier enregistrement dont le couple de clés (vehicule, remorque) est égal aux paramètres passés lors de l'éxécution de la requête. j'ai pour cela la requête suivante:
1 2 3
| Afficher tous les PECLEUNIK tels que CODEVE est égal à 'Param_codeve' ET CODERB est égal à 'Param_coderb' ET VALIDE est égal à 1 .
Le résultat est trié selon la valeur de PECLEUNIK par ordre croissant. Seules les 1 dernières lignes de la requête (selon le tri)
seront affichées. |
je précise que lors des tests j'ai souvent enlever :
Seules les 1 dernières lignes de la requête (selon le tri) seront affichées.
afin de mieux me rendre compte de l'ordre des résultats.
Alors ce que je constate. c'est que d'une exécution à une autre (parfois le même jour, parfois le lendemain), les résultats sont souvent ordonnés du plus petit au plus grand ou du plus grand au plus petit. Je me serai attendu à ce que l'ordre du rendu des résultats ne change pas.
Alors à la question comment je m'en suis rendu compte, c'est d'abord dans mon programme en cours d'éxécution et ensuite e utilisant l'outil de test de requête intégré de l'éditeur de requête windev. Concrètement, pour le même jeu de données,
un coup je reçois:
un coup je reçois :
Les premières fois j'ai d'abord cru qu'il inversait sa pile de résultat et qu'il fallait lire de bas en haut, mais si l'ordre change alors je ne sais plus où donner de la tête.
Je précise que je suis sous Windev 17.
Alors je suis à la recherche de solution. Peut être suis-je passé à côté de quelque chose lors de la création de ma requête. Ou mieux, s'il existe un autre moyen d'obtenir le même résultat (obtenir le dernier enregistrement d'une table ayant le couple véhicule+remorque égal au paramètres donnés), je suis preneur.
Partager