Je souhaite récupérer le nombre de passage à 1 mais où la durée à 0 et supérieur à 5 secondes Donc logiquement ici 3 : Var1 , 04/09/2008, 17:00:00, 1 Var1 , 04/09/2008, 17:00:40, 1 Var1 , 04/09/2008, 17:01:30, 1
Si quelqu'un peut m'aider.
Merci d'avance
Personne pour m"aider. Dommage
On 4 sep, 18:16, "sfauchi...@gmail.com" <sfauchi...@gmail.com> wrote:
J'ai une table T1 avec 3 colonnes, Nom,DateTime, Valeur contenant
Je souhaite récupérer le nombre de passage à 1 mais où la durée à 0 et
supérieur à 5 secondes
Donc logiquement ici 3 :
Var1 , 04/09/2008, 17:00:00, 1
Var1 , 04/09/2008, 17:00:40, 1
Var1 , 04/09/2008, 17:01:30, 1
Je souhaite récupérer le nombre de passage à 1 mais où la durée à 0 et supérieur à 5 secondes Donc logiquement ici 3 : Var1 , 04/09/2008, 17:00:00, 1 Var1 , 04/09/2008, 17:00:40, 1 Var1 , 04/09/2008, 17:01:30, 1
Si quelqu'un peut m'aider.
Merci d'avance
Personne pour m"aider. Dommage
Fred BROUARD
le titre de votre demande est incompréhensible et votre demande incomplète. voici néanmoins un début de réponse :
CREATE TABLE T1 (Nom VARCHAR(4), DateHeure DATETIME, Valeur INT)
INSERT INTO T1 VALUES ('Var1' , '04/09/2008 17:00:00', 1) INSERT INTO T1 VALUES ('Var1' , '04/09/2008 17:00:15', 0) INSERT INTO T1 VALUES ('Var1' , '04/09/2008 17:00:20', 1) INSERT INTO T1 VALUES ('Var1' , '04/09/2008 17:00:30', 0) INSERT INTO T1 VALUES ('Var1' , '04/09/2008 17:00:40', 1) INSERT INTO T1 VALUES ('Var1' , '04/09/2008 17:00:50', 0) INSERT INTO T1 VALUES ('Var1' , '04/09/2008 17:00:52', 1) INSERT INTO T1 VALUES ('Var1' , '04/09/2008 17:00:55', 0) INSERT INTO T1 VALUES ('Var1' , '04/09/2008 17:01:30', 1) INSERT INTO T1 VALUES ('Var1' , '04/09/2008 17:02:50', 0)
SELECT Nom, DateHeure, Valeur, DATEDIFF(second, DateHeure, DTfin) AS DureeSeconde FROM (SELECT *, (SELECT MIN(DateHeure) FROM T1 AS TIN WHERE TIN.Nom = TOUT.Nom AND TIN.DateHeure > TOUT.DateHeure) AS DTfin FROM T1 AS TOUT) AS T
maintenant quelle est la référence de durée à 0 ???? par rapport à quelle chronologie ????
Soyez clair et précis si vous voulez de l'aide !
A +
a écrit :
J'ai une table T1 avec 3 colonnes, Nom,DateTime, Valeur contenant
Je souhaite récupérer le nombre de passage à 1 mais où la durée à 0 et supérieur à 5 secondes Donc logiquement ici 3 : Var1 , 04/09/2008, 17:00:00, 1 Var1 , 04/09/2008, 17:00:40, 1 Var1 , 04/09/2008, 17:01:30, 1
Si quelqu'un peut m'aider.
Merci d'avance
-- Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com Audit, conseil, expertise, formation, modélisation, tuning, optimisation *********************** http://www.sqlspot.com *************************
le titre de votre demande est incompréhensible et votre demande incomplète.
voici néanmoins un début de réponse :
CREATE TABLE T1 (Nom VARCHAR(4), DateHeure DATETIME, Valeur INT)
INSERT INTO T1 VALUES ('Var1' , '04/09/2008 17:00:00', 1)
INSERT INTO T1 VALUES ('Var1' , '04/09/2008 17:00:15', 0)
INSERT INTO T1 VALUES ('Var1' , '04/09/2008 17:00:20', 1)
INSERT INTO T1 VALUES ('Var1' , '04/09/2008 17:00:30', 0)
INSERT INTO T1 VALUES ('Var1' , '04/09/2008 17:00:40', 1)
INSERT INTO T1 VALUES ('Var1' , '04/09/2008 17:00:50', 0)
INSERT INTO T1 VALUES ('Var1' , '04/09/2008 17:00:52', 1)
INSERT INTO T1 VALUES ('Var1' , '04/09/2008 17:00:55', 0)
INSERT INTO T1 VALUES ('Var1' , '04/09/2008 17:01:30', 1)
INSERT INTO T1 VALUES ('Var1' , '04/09/2008 17:02:50', 0)
SELECT Nom, DateHeure, Valeur, DATEDIFF(second, DateHeure, DTfin) AS
DureeSeconde
FROM (SELECT *, (SELECT MIN(DateHeure)
FROM T1 AS TIN
WHERE TIN.Nom = TOUT.Nom
AND TIN.DateHeure > TOUT.DateHeure) AS DTfin
FROM T1 AS TOUT) AS T
maintenant quelle est la référence de durée à 0 ???? par rapport à
quelle chronologie ????
Soyez clair et précis si vous voulez de l'aide !
A +
sfauchille@gmail.com a écrit :
J'ai une table T1 avec 3 colonnes, Nom,DateTime, Valeur contenant
Je souhaite récupérer le nombre de passage à 1 mais où la durée à 0 et
supérieur à 5 secondes
Donc logiquement ici 3 :
Var1 , 04/09/2008, 17:00:00, 1
Var1 , 04/09/2008, 17:00:40, 1
Var1 , 04/09/2008, 17:01:30, 1
Si quelqu'un peut m'aider.
Merci d'avance
--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
*********************** http://www.sqlspot.com *************************
le titre de votre demande est incompréhensible et votre demande incomplète. voici néanmoins un début de réponse :
CREATE TABLE T1 (Nom VARCHAR(4), DateHeure DATETIME, Valeur INT)
INSERT INTO T1 VALUES ('Var1' , '04/09/2008 17:00:00', 1) INSERT INTO T1 VALUES ('Var1' , '04/09/2008 17:00:15', 0) INSERT INTO T1 VALUES ('Var1' , '04/09/2008 17:00:20', 1) INSERT INTO T1 VALUES ('Var1' , '04/09/2008 17:00:30', 0) INSERT INTO T1 VALUES ('Var1' , '04/09/2008 17:00:40', 1) INSERT INTO T1 VALUES ('Var1' , '04/09/2008 17:00:50', 0) INSERT INTO T1 VALUES ('Var1' , '04/09/2008 17:00:52', 1) INSERT INTO T1 VALUES ('Var1' , '04/09/2008 17:00:55', 0) INSERT INTO T1 VALUES ('Var1' , '04/09/2008 17:01:30', 1) INSERT INTO T1 VALUES ('Var1' , '04/09/2008 17:02:50', 0)
SELECT Nom, DateHeure, Valeur, DATEDIFF(second, DateHeure, DTfin) AS DureeSeconde FROM (SELECT *, (SELECT MIN(DateHeure) FROM T1 AS TIN WHERE TIN.Nom = TOUT.Nom AND TIN.DateHeure > TOUT.DateHeure) AS DTfin FROM T1 AS TOUT) AS T
maintenant quelle est la référence de durée à 0 ???? par rapport à quelle chronologie ????
Soyez clair et précis si vous voulez de l'aide !
A +
a écrit :
J'ai une table T1 avec 3 colonnes, Nom,DateTime, Valeur contenant
Je souhaite récupérer le nombre de passage à 1 mais où la durée à 0 et supérieur à 5 secondes Donc logiquement ici 3 : Var1 , 04/09/2008, 17:00:00, 1 Var1 , 04/09/2008, 17:00:40, 1 Var1 , 04/09/2008, 17:01:30, 1
Si quelqu'un peut m'aider.
Merci d'avance
-- Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com Audit, conseil, expertise, formation, modélisation, tuning, optimisation *********************** http://www.sqlspot.com *************************
Patrice
Bonjour,
La communication sur internet étant difficile à première vue j'avais l'impression que tu voulais restaurer partiellement une table à partir d'une bande HS !!! Comme quoi...
A première vue je dirais qq chose comme (non testé et de bon matin) :
SELECT *,(SELECT TOP 1 DateTime FROM MaTable WHERE Valeur=0 AND DateTime>t.DateTime ORDER BY DAteTime) AS Fin FROM MaTable t WHERE Valeur=1
L'idée est de prendre les valeurs à 1 et de mettre à côté la valeur 0 (qui est la fin de l'opération ?) avec la date immédiatement supérieure. La même sous-requête peut-être utilisée dans un DATEDIFF pour mettre le critère sur la durée.
Bonne continuation
-- Patrice
a écrit dans le message de groupe de discussion :
On 4 sep, 18:16, "" wrote:
J'ai une table T1 avec 3 colonnes, Nom,DateTime, Valeur contenant
Je souhaite récupérer le nombre de passage à 1 mais où la durée à 0 et supérieur à 5 secondes Donc logiquement ici 3 : Var1 , 04/09/2008, 17:00:00, 1 Var1 , 04/09/2008, 17:00:40, 1 Var1 , 04/09/2008, 17:01:30, 1
Si quelqu'un peut m'aider.
Merci d'avance
Personne pour m"aider. Dommage
Bonjour,
La communication sur internet étant difficile à première vue j'avais
l'impression que tu voulais restaurer partiellement une table à partir d'une
bande HS !!! Comme quoi...
A première vue je dirais qq chose comme (non testé et de bon matin) :
SELECT *,(SELECT TOP 1 DateTime FROM MaTable WHERE Valeur=0 AND
DateTime>t.DateTime ORDER BY DAteTime) AS Fin FROM MaTable t WHERE Valeur=1
L'idée est de prendre les valeurs à 1 et de mettre à côté la valeur 0 (qui
est la fin de l'opération ?) avec la date immédiatement supérieure. La même
sous-requête peut-être utilisée dans un DATEDIFF pour mettre le critère sur
la durée.
Bonne continuation
--
Patrice
<sfauchille@gmail.com> a écrit dans le message de groupe de discussion :
63be6301-680c-443d-ade0-c4fc230ebeaa@k7g2000hsd.googlegroups.com...
On 4 sep, 18:16, "sfauchi...@gmail.com" <sfauchi...@gmail.com> wrote:
J'ai une table T1 avec 3 colonnes, Nom,DateTime, Valeur contenant
Je souhaite récupérer le nombre de passage à 1 mais où la durée à 0 et
supérieur à 5 secondes
Donc logiquement ici 3 :
Var1 , 04/09/2008, 17:00:00, 1
Var1 , 04/09/2008, 17:00:40, 1
Var1 , 04/09/2008, 17:01:30, 1
La communication sur internet étant difficile à première vue j'avais l'impression que tu voulais restaurer partiellement une table à partir d'une bande HS !!! Comme quoi...
A première vue je dirais qq chose comme (non testé et de bon matin) :
SELECT *,(SELECT TOP 1 DateTime FROM MaTable WHERE Valeur=0 AND DateTime>t.DateTime ORDER BY DAteTime) AS Fin FROM MaTable t WHERE Valeur=1
L'idée est de prendre les valeurs à 1 et de mettre à côté la valeur 0 (qui est la fin de l'opération ?) avec la date immédiatement supérieure. La même sous-requête peut-être utilisée dans un DATEDIFF pour mettre le critère sur la durée.
Bonne continuation
-- Patrice
a écrit dans le message de groupe de discussion :
On 4 sep, 18:16, "" wrote:
J'ai une table T1 avec 3 colonnes, Nom,DateTime, Valeur contenant
Je souhaite récupérer le nombre de passage à 1 mais où la durée à 0 et supérieur à 5 secondes Donc logiquement ici 3 : Var1 , 04/09/2008, 17:00:00, 1 Var1 , 04/09/2008, 17:00:40, 1 Var1 , 04/09/2008, 17:01:30, 1
Si quelqu'un peut m'aider.
Merci d'avance
Personne pour m"aider. Dommage
sfauchille
On 10 sep, 10:10, Fred BROUARD wrote:
le titre de votre demande est incompréhensible et votre demande incompl ète. voici néanmoins un début de réponse :
CREATE TABLE T1 (Nom VARCHAR(4), DateHeure DATETIME, Valeur INT)
INSERT INTO T1 VALUES ('Var1' , '04/09/2008 17:00:00', 1) INSERT INTO T1 VALUES ('Var1' , '04/09/2008 17:00:15', 0) INSERT INTO T1 VALUES ('Var1' , '04/09/2008 17:00:20', 1) INSERT INTO T1 VALUES ('Var1' , '04/09/2008 17:00:30', 0) INSERT INTO T1 VALUES ('Var1' , '04/09/2008 17:00:40', 1) INSERT INTO T1 VALUES ('Var1' , '04/09/2008 17:00:50', 0) INSERT INTO T1 VALUES ('Var1' , '04/09/2008 17:00:52', 1) INSERT INTO T1 VALUES ('Var1' , '04/09/2008 17:00:55', 0) INSERT INTO T1 VALUES ('Var1' , '04/09/2008 17:01:30', 1) INSERT INTO T1 VALUES ('Var1' , '04/09/2008 17:02:50', 0)
SELECT Nom, DateHeure, Valeur, DATEDIFF(second, DateHeure, DTfin) AS DureeSeconde FROM (SELECT *, (SELECT MIN(DateHeure) FROM T1 AS TIN WHERE TIN.Nom = TOUT.Nom AND TIN.DateHeure > TOUT.DateHeure) AS DTf in FROM T1 AS TOUT) AS T
maintenant quelle est la référence de durée à 0 ???? par rapport à quelle chronologie ????
Soyez clair et précis si vous voulez de l'aide !
A +
a écrit :
> J'ai une table T1 avec 3 colonnes, Nom,DateTime, Valeur contenant
> Je souhaite récupérer le nombre de passage à 1 mais où la dur ée à 0 et > supérieur à 5 secondes > Donc logiquement ici 3 : > Var1 , 04/09/2008, 17:00:00, 1 > Var1 , 04/09/2008, 17:00:40, 1 > Var1 , 04/09/2008, 17:01:30, 1
> Si quelqu'un peut m'aider.
> Merci d'avance
-- Frédéric BROUARD, MVP SQL Server, expert bases de données et langag e SQL Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez. com Audit, conseil, expertise, formation, modélisation, tuning, optimisatio n ***********************http://www.sqlspot.com*************************- M asquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Bonjour, Effectivement ma demande peut sembler ne pas être claire et j'en suis désolé. En clair je bosse dans l'automatisme et j'enregistre dans une base de données le changement d'état de vannes (vanne fermée =0 et vanne ouverte =1). Et on me demande la chose suivante. Pour une vanne donnée (Var1 par exemple) je souhaite savoir combien de fois cette vanne a été ouverte (jusque là pas de problème) mais don t la durée d'ouverture est supérieur à 5 secondes. Voila, j'espère avoir été plus clair dans mon explication Bonne journée à vous
On 10 sep, 10:10, Fred BROUARD <broua...@club-internet.fr> wrote:
le titre de votre demande est incompréhensible et votre demande incompl ète.
voici néanmoins un début de réponse :
CREATE TABLE T1 (Nom VARCHAR(4), DateHeure DATETIME, Valeur INT)
INSERT INTO T1 VALUES ('Var1' , '04/09/2008 17:00:00', 1)
INSERT INTO T1 VALUES ('Var1' , '04/09/2008 17:00:15', 0)
INSERT INTO T1 VALUES ('Var1' , '04/09/2008 17:00:20', 1)
INSERT INTO T1 VALUES ('Var1' , '04/09/2008 17:00:30', 0)
INSERT INTO T1 VALUES ('Var1' , '04/09/2008 17:00:40', 1)
INSERT INTO T1 VALUES ('Var1' , '04/09/2008 17:00:50', 0)
INSERT INTO T1 VALUES ('Var1' , '04/09/2008 17:00:52', 1)
INSERT INTO T1 VALUES ('Var1' , '04/09/2008 17:00:55', 0)
INSERT INTO T1 VALUES ('Var1' , '04/09/2008 17:01:30', 1)
INSERT INTO T1 VALUES ('Var1' , '04/09/2008 17:02:50', 0)
SELECT Nom, DateHeure, Valeur, DATEDIFF(second, DateHeure, DTfin) AS
DureeSeconde
FROM (SELECT *, (SELECT MIN(DateHeure)
FROM T1 AS TIN
WHERE TIN.Nom = TOUT.Nom
AND TIN.DateHeure > TOUT.DateHeure) AS DTf in
FROM T1 AS TOUT) AS T
maintenant quelle est la référence de durée à 0 ???? par rapport à
quelle chronologie ????
Soyez clair et précis si vous voulez de l'aide !
A +
sfauchi...@gmail.com a écrit :
> J'ai une table T1 avec 3 colonnes, Nom,DateTime, Valeur contenant
> Je souhaite récupérer le nombre de passage à 1 mais où la dur ée à 0 et
> supérieur à 5 secondes
> Donc logiquement ici 3 :
> Var1 , 04/09/2008, 17:00:00, 1
> Var1 , 04/09/2008, 17:00:40, 1
> Var1 , 04/09/2008, 17:01:30, 1
> Si quelqu'un peut m'aider.
> Merci d'avance
--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langag e SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez. com
Audit, conseil, expertise, formation, modélisation, tuning, optimisatio n
***********************http://www.sqlspot.com*************************- M asquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Bonjour,
Effectivement ma demande peut sembler ne pas être claire et j'en suis
désolé.
En clair je bosse dans l'automatisme et j'enregistre dans une base de
données le changement d'état de vannes (vanne fermée =0 et vanne
ouverte =1).
Et on me demande la chose suivante.
Pour une vanne donnée (Var1 par exemple) je souhaite savoir combien de
fois cette vanne a été ouverte (jusque là pas de problème) mais don t
la durée d'ouverture est supérieur à 5 secondes.
Voila, j'espère avoir été plus clair dans mon explication
Bonne journée à vous
le titre de votre demande est incompréhensible et votre demande incompl ète. voici néanmoins un début de réponse :
CREATE TABLE T1 (Nom VARCHAR(4), DateHeure DATETIME, Valeur INT)
INSERT INTO T1 VALUES ('Var1' , '04/09/2008 17:00:00', 1) INSERT INTO T1 VALUES ('Var1' , '04/09/2008 17:00:15', 0) INSERT INTO T1 VALUES ('Var1' , '04/09/2008 17:00:20', 1) INSERT INTO T1 VALUES ('Var1' , '04/09/2008 17:00:30', 0) INSERT INTO T1 VALUES ('Var1' , '04/09/2008 17:00:40', 1) INSERT INTO T1 VALUES ('Var1' , '04/09/2008 17:00:50', 0) INSERT INTO T1 VALUES ('Var1' , '04/09/2008 17:00:52', 1) INSERT INTO T1 VALUES ('Var1' , '04/09/2008 17:00:55', 0) INSERT INTO T1 VALUES ('Var1' , '04/09/2008 17:01:30', 1) INSERT INTO T1 VALUES ('Var1' , '04/09/2008 17:02:50', 0)
SELECT Nom, DateHeure, Valeur, DATEDIFF(second, DateHeure, DTfin) AS DureeSeconde FROM (SELECT *, (SELECT MIN(DateHeure) FROM T1 AS TIN WHERE TIN.Nom = TOUT.Nom AND TIN.DateHeure > TOUT.DateHeure) AS DTf in FROM T1 AS TOUT) AS T
maintenant quelle est la référence de durée à 0 ???? par rapport à quelle chronologie ????
Soyez clair et précis si vous voulez de l'aide !
A +
a écrit :
> J'ai une table T1 avec 3 colonnes, Nom,DateTime, Valeur contenant
> Je souhaite récupérer le nombre de passage à 1 mais où la dur ée à 0 et > supérieur à 5 secondes > Donc logiquement ici 3 : > Var1 , 04/09/2008, 17:00:00, 1 > Var1 , 04/09/2008, 17:00:40, 1 > Var1 , 04/09/2008, 17:01:30, 1
> Si quelqu'un peut m'aider.
> Merci d'avance
-- Frédéric BROUARD, MVP SQL Server, expert bases de données et langag e SQL Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez. com Audit, conseil, expertise, formation, modélisation, tuning, optimisatio n ***********************http://www.sqlspot.com*************************- M asquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Bonjour, Effectivement ma demande peut sembler ne pas être claire et j'en suis désolé. En clair je bosse dans l'automatisme et j'enregistre dans une base de données le changement d'état de vannes (vanne fermée =0 et vanne ouverte =1). Et on me demande la chose suivante. Pour une vanne donnée (Var1 par exemple) je souhaite savoir combien de fois cette vanne a été ouverte (jusque là pas de problème) mais don t la durée d'ouverture est supérieur à 5 secondes. Voila, j'espère avoir été plus clair dans mon explication Bonne journée à vous