OVH Cloud OVH Cloud

Recherche dans une database d'enregistrement ayant + de 10s d'ecart

6 réponses
Avatar
je
Bonjour,

J'ai une application qui logge dans une base de donn=E9e SQL serveur
toutes les 10 secondes

Le pb est que suite =E0 plusieurs heure de fonctionnement j'ai moins
d'enregistrement que la theorie.

JE souhaiterai faire une requete ( si possible ) pour interroger la
base et me donner la liste des enregistrement ayant plus de 10 secondes
avec l'enregistrement precedent

Est ce possible et comment l'ecrit on !?

Merci d'avance
Jerome

6 réponses

Avatar
\(¯`·..Yttrium ...·´¯\)
"je" a écrit dans le message de news:

JE souhaiterai faire une requete ( si possible ) pour interroger la
base et me donner la liste des enregistrement ayant plus de 10 secondes
avec l'enregistrement precedent



Bonjour,

Il faudrait pour cela me semble t il que l'heure de l'enregistrement soit
stockée dans un champ...

Salutations.
Avatar
Fred Brouard - SQLpro
Faire une non équi auto jointure de la table sur elle même avec un max si < ou
Min si >. A partir de cette jointure il est facile de calculer l'écart.
Réimbriquer cette requête dans un SELECT en tant que sous requête dans la clause
FROM et filtrer sur ecart > 10

sans la description de vos tables impossible de vous aider.

Pour une bonne description, lire :
http://www.developpez.net/forums/viewtopic.php?t2668

A +


--
Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
************************ www.datasapiens.com *************************
je a écrit:
Bonjour,

J'ai une application qui logge dans une base de donnée SQL serveur
toutes les 10 secondes

Le pb est que suite à plusieurs heure de fonctionnement j'ai moins
d'enregistrement que la theorie.

JE souhaiterai faire une requete ( si possible ) pour interroger la
base et me donner la liste des enregistrement ayant plus de 10 secondes
avec l'enregistrement precedent

Est ce possible et comment l'ecrit on !?

Merci d'avance
Jerome

Avatar
je
Merci pour ces reponses, voici donc le complement d'info

Ma table c'est :
Base : HMI_DB
Table test :
FCHMITimeStamp | valeur1 | v2 | ........ |
v15 |
JJ/MM/AAAA HH:MN:SS | INTEGER | INT | | Integer |


En fait à la creation de la base on y demande de créer la collonne
timestamp et ensuite elle la date automatiquement à chaque log.

Le base est SQL Serveur 2000 (V8.0)

Frederic :
Faire une non équi auto jointure de la table sur elle même avec un
max si < ou
Min si >. A partir de cette jointure il est facile de calculer
l'écart.
Réimbriquer cette requête dans un SELECT en tant que sous requête
dans la clause
FROM et filtrer sur ecart > 10

Desolé là je ne suis pas dans le coup :( -> Faire une non équi auto
jointure ??
Avatar
Fred Brouard - SQLpro
Pour cette table merci de me donner LE SCRIP SQL de création qui commence par
CREATE TABLE ...

Si vous ne savez pas : dans EM, clic droit sur la table, menu Toutes les tâches
/ générer un script SQL.

Pour m'extraire les infos, faire : dans EM, clic droit sur la table, menu Toutes
les tâches / exporter les données.

Sans cela impossible de t'aider.

Merci

je a écrit:
Merci pour ces reponses, voici donc le complement d'info

Ma table c'est :
Base : HMI_DB
Table test :
FCHMITimeStamp | valeur1 | v2 | ........ |
v15 |
JJ/MM/AAAA HH:MN:SS | INTEGER | INT | | Integer |


En fait à la creation de la base on y demande de créer la collonne
timestamp et ensuite elle la date automatiquement à chaque log.

Le base est SQL Serveur 2000 (V8.0)

Frederic :
Faire une non équi auto jointure de la table sur elle même avec un
max si < ou
Min si >. A partir de cette jointure il est facile de calculer
l'écart.
Réimbriquer cette requête dans un SELECT en tant que sous requête
dans la clause
FROM et filtrer sur ecart > 10

Desolé là je ne suis pas dans le coup :( -> Faire une non équi auto
jointure ??




--
Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
************************ www.datasapiens.com *************************
Avatar
je
Merci Frederic pour ton aide.

Le script pour une table :
---------------Debut script ----------------------------
if exists (select * from dbo.sysobjects where id =
object_id(N'[dbo].[tblS52_E_01]') and OBJECTPROPERTY(id,
N'IsUserTable') = 1)
drop table [dbo].[tblS52_E_01]
GO

CREATE TABLE [dbo].[tblS52_E_01] (
[fchmitimestamp] [datetime] NULL ,
[Zeit_Monat] [int] NULL ,
[Zeit_Tag] [int] NULL ,
[Zeit_Jahr] [int] NULL ,
[Zeit_Stunde] [int] NULL ,
[Zeit_Minute] [int] NULL ,
[Zeit_Sekunde] [int] NULL ,
[U1] [int] NULL ,
[U2] [int] NULL ,
[U3] [int] NULL ,
[I1] [int] NULL ,
[I2] [int] NULL ,
[I3] [int] NULL ,
[P] [int] NULL ,
[Q] [int] NULL ,
[S] [int] NULL ,
[CosPhi] [int] NULL ,
[LS15] [int] NULL ,
[EEV] [real] NULL ,
[DIGI1] [int] NULL ,
[DIGI2] [int] NULL ,
[DIGI3] [int] NULL ,
[Phase_U1_U2] [int] NULL ,
[LM15] [int] NULL
) ON [PRIMARY]
GO
---------------------------------------------- Fin script

Pour les données le fichier est là :
http://195.6.140.163/tmp/SQLPackage.dts

(C une version tres courte bien sur !

Encore Merci @+
Jerome
Avatar
Fred Brouard - SQLpro
Pour le DTS, quels sont les paramètres du fichier ?
ASCI UNICODE ???
Fixe ? Délimité ???
Car de delimiation et de sep ??????

A +

je a écrit:
Merci Frederic pour ton aide.

Le script pour une table :
---------------Debut script ----------------------------
if exists (select * from dbo.sysobjects where id > object_id(N'[dbo].[tblS52_E_01]') and OBJECTPROPERTY(id,
N'IsUserTable') = 1)
drop table [dbo].[tblS52_E_01]
GO

CREATE TABLE [dbo].[tblS52_E_01] (
[fchmitimestamp] [datetime] NULL ,
[Zeit_Monat] [int] NULL ,
[Zeit_Tag] [int] NULL ,
[Zeit_Jahr] [int] NULL ,
[Zeit_Stunde] [int] NULL ,
[Zeit_Minute] [int] NULL ,
[Zeit_Sekunde] [int] NULL ,
[U1] [int] NULL ,
[U2] [int] NULL ,
[U3] [int] NULL ,
[I1] [int] NULL ,
[I2] [int] NULL ,
[I3] [int] NULL ,
[P] [int] NULL ,
[Q] [int] NULL ,
[S] [int] NULL ,
[CosPhi] [int] NULL ,
[LS15] [int] NULL ,
[EEV] [real] NULL ,
[DIGI1] [int] NULL ,
[DIGI2] [int] NULL ,
[DIGI3] [int] NULL ,
[Phase_U1_U2] [int] NULL ,
[LM15] [int] NULL
) ON [PRIMARY]
GO
---------------------------------------------- Fin script

Pour les données le fichier est là :
http://195.6.140.163/tmp/SQLPackage.dts

(C une version tres courte bien sur !

Encore Merci @+
Jerome




--
Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
************************ www.datasapiens.com *************************