Actuellement, j'ai cet objectif à rencontrer. J'ai besoin d'interroger la base de données pour certains résultats. Après cela, je vais devoir comparer les enregistrements: Par exemple: la requête me renvoie 10 lignes d'enregistrements, je dois ensuite comparer: ligne 1 avec 2, ligne 2 avec 3, ligne 3 avec 4 ... ligne 9 avec 10.comparer 2 lignes consécutives dans un jeu d'enregistrements
Le résultat final que je souhaite avoir est de 10 ou moins de 10 lignes d'enregistrements.
J'ai actuellement une approche. Je fais cela dans une fonction, les variables de la main appellent "précédent" et "courant". Dans une boucle, je comparerai toujours le passé et le courant que je remplis dans le jeu d'enregistrements à l'aide d'un curseur.
Après avoir obtenu chaque ligne de résultat filtré, je vais l'entrer dans une table temporaire physique. Après tous les résultats sont dans cette table temporaire. Je vais faire une requête sur cette table et insérer le résultat dans un curseur, puis retourner le curseur.
Le problème est: comment ne pas utiliser une table temporaire. J'ai fait des recherches en ligne sur l'utilisation de tables imbriquées, mais je n'arrivais tout simplement pas à le faire fonctionner.
Comment remplacer la table temporaire par autre chose? Ou existe-t-il une autre approche que je peux utiliser pour comparer les colonnes de ligne avec d'autres lignes.
EDIT
Alors désolé, peut-être je ne suis pas clair avec ma question. Voici un échantillon du résultat que j'essaie d'atteindre.
TABLEAU X
Column A B C D
100 300 99 T1
100 300 98 T2
100 300 97 T3
100 100 97 T4
100 300 97 T5
101 11 11 T6
ColumnA
est la clé primaire de la table. ColumnA
a des doublons car la table X est une table d'audit qui conserve les pistes de tous les changements. La colonne D agit comme l'horodatage de cet enregistrement.
Pour ma requête, je ne suis intéressé par des changements dans la colonne A, B et D. Une fois la requête que je voudrais obtenir le résultat comme suit:
Column A B D
100 300 T1
100 100 T4
100 300 T5
101 11 T6