Il existe sur mon lieu de travail un outil horrible qui a été mis à jour/corrigé pour fournir des informations à une base de données SQLite. Personne ne veut toucher à l'arrière du système, et je ne sais pas assez pour creuser dedans - pas mon problème. Voici mon problème cependant:Comparaison de plusieurs tables
J'ai une base de données SQLite, avec un certain nombre de tables. Chaque table représente un jour et contient toutes les pistes de bus, tels que mentionnés par exemple:
| Direction | Time | RunNumber | StopIndex |
----------------------------------------------
| In | 6:30 | 1 | 1 |
| In | 6:35 | 1 | 2 |
| In | 6:40 | 1 | 3 |
| In | 6:45 | 1 | 4 |
| In | 7:30 | 2 | 1 |
| In | 7:35 | 2 | 2 |
| In | 7:40 | 2 | 3 |
| In | 7:45 | 2 | 4 |
| Out | 6:40 | 1 | 1 |
| Out | 6:45 | 1 | 2 |
| Out | 6:50 | 1 | 3 |
| Out | 6:55 | 1 | 4 |
Quelques jours peuvent avoir que les autres plus de courses. Le nombre d'arrêts sera le même pour toutes les tables.
La définition de l'égalité est que la direction et l'heure sont les mêmes. Chaque exécution est traitée comme un ensemble - si l'une des durées d'un arrêt diffère, la totalité de l'exécution doit être fusionnée dans une table.
Ma question est:
Quelle serait la meilleure façon, étant donné une liste de tables, pour générer une autre table qui contient des valeurs qui ne sont pas présentes sur toutes les tables données? Cela peut être fait sur le côté SQLite, ou par C# .NET 4.0.
En réalité, je n'ai besoin que de connaître le numéro d'exécution qui diffère, afin de pouvoir l'extraire ultérieurement et le placer dans une feuille de calcul Excel, si cela facilite la tâche.
Existe-t-il un moyen de le faire sur un critère moins sélectif? Mon problème est que n'importe où dans la table, un autre déclenchement peut être inséré, ce qui provoque alors le RunNumber à n + 1 pour chaque voyage suivant. L'utilisation de cette méthode provoque le retour de chaque ligne après l'addition, car le numéro d'exécution est n + 1 (ou bien plusieurs passages ont été insérés). – HeWhoWas