Bonjour,
Je possède une table qui regroupe des informations générales de traitement dont voici la définition (SQL Server) :
J'ai ensuite X tables avec des champs différents mais qui reprennent de la table globale :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 CREATE TABLE [GLOBALEVENT]( [ID] [int] IDENTITY(1,1) NOT NULL, [NATURE] [varchar](20) NULL, [ACTION] [varchar](3) NULL, [EMETTEUR] [varchar](20) NULL, [DESTINATAIRE] [varchar](20) NULL, [DATE_CREATION] [datetime] NULL, [DATE_TRAITEMENT] [datetime] NULL, [STATUT] [varchar](10) NULL, [ERREUR] [varchar](100) NULL)
- ID
Le champ NATURE de la table global permet d'identifier quelle table contient les informations, ex :
Si NATURE = TABLESYS alors il faudra aller chercher les informations dans TABLESYS.
Les ID sont générés à chaque insertion d'une ligne.
Mais les informations concernent un paquet à chaque fois.
Ex sur TABLESYS dont voici la définition :
Dans TABLESYS je vais avoir ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 CREATE TABLE [TABLESYS]( [ID] [int] NOT NULL, [NUMSYS] [varchar](15) NULL, [ERRORSYS] [varchar](6) NULL, [USERSYS] [varchar](3) NULL )
ID NUMSYS ERRORSYS USERSYS
1 45785 fdsdfzzezre Admin
2 45785 vdzrzerzr Admin
5 45785 csdfzezszd Admin
10 45785 fdsdfzzezre Admin
12 45785 vdzrzerzr Admin
13 45785 csdfzezszd Admin
Dans la table GLOBALEVENT je vais avoir ceci :
ID NATURE DATE_CREATION DATE_TRAITEMENT STATUT ERREUR
1 TABLESYS XXXXXXXX XXXXXXX XXXXX XXXXXX
2 TABLESYS XXXXXXXX XXXXXXX XXXXX XXXXXX
3 TABLEOTHERX XXXXXXXX XXXXXXX XXXXX XXXXXX
4 TABLEOTHERY XXXXXXXX XXXXXXX XXXXX XXXXXX
5 TABLESYS XXXXXXXX XXXXXXX XXXXX XXXXXX
6 TABLEOTHERZ XXXXXXXX XXXXXXX XXXXX XXXXXX
10 TABLESYS XXXXXXXX XXXXXXX XXXXX XXXXXX
11 TABLEOTHERZ XXXXXXXX XXXXXXX XXXXX XXXXXX
12 TABLESYS XXXXXXXX XXXXXXX XXXXX XXXXXX
13 TABLESYS XXXXXXXX XXXXXXX XXXXX XXXXXX
Ce que je remarque c'est du coup que dans TABLESYS mon NUMSYS a été inscrit deux fois à deux moments différents.
Et j'ai besoin de faire une requête qui me donnerais du coup MIN(ID) et MAX(ID) de chaque traitement séparé.
En sachant que DATE_CREATION de GLOBALEVENT pour un paquet se suit à peut prêt (les secondes augmentent et on peut changer de minutes).
Par contre lorsqu'un deuxième est inscrit, il y a un décalage dans le datetime.
Je n'ai pour le moment pas réussi à faire cela
J’espère avoir été clair
Merci pour votre aide !
Partager