IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MS SQL Server Discussion :

Exclusion de plage de date


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Juin 2008
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Juin 2008
    Messages : 22
    Par défaut Exclusion de plage de date
    Bonjour,

    Je pose la question à la communauté en espérant qu'une âme charitable veuille bien m'aiguiller.
    J'ai une table contenant des intervalles

    Table T1
    DateDebut as DateTime
    DateFin as DateTime

    J'ai une table contenant des données

    Table T2
    Date as Datetime
    Value as integer

    Je souhaiterai ressortir toute les valeurs ne se trouvant pas dans les différents intervalles.

    D'avance merci

  2. #2
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 454
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 454
    Par défaut
    Essayez ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    select t2.Value
      from t2
     where not exists (select null
                         from t1
                        where t2.Date between t1.DateDebut and t1.DateFin);

  3. #3
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    2 955
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2 955
    Par défaut
    Qu'est ce que ça donne ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    select date, value
      from t2
     where exists (select 1
                     from t1
                    where t2.date not between t1.DateDebut and t1.dateFin)

  4. #4
    Membre averti
    Homme Profil pro
    Inscrit en
    Juin 2008
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Juin 2008
    Messages : 22
    Par défaut
    Je vous remercie, la requête suivante fonctionne à merveille


    SELECT t2.Value
    FROM t2
    WHERE NOT EXISTS (SELECT NULL
    FROM t1
    WHERE t2.Date BETWEEN t1.DateDebut AND t1.DateFin);


    Mais quelqu'un serait m'expliquer pourquoi ça marche!!! Je ne comprend pas le fonctionnement

Discussions similaires

  1. Recherche plage de dates
    Par KEROZEN dans le forum Access
    Réponses: 3
    Dernier message: 19/04/2006, 15h49
  2. [SQL Server 8] Trouver une plage de date
    Par Baquardie dans le forum Langage SQL
    Réponses: 3
    Dernier message: 11/04/2006, 20h30
  3. [CR]Aide sur les fonction de date et plage de date.
    Par Job dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 08/11/2005, 10h19
  4. [date] Recherche dans une plage de dates
    Par astro84 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 28/06/2005, 18h13
  5. Sélection d'une plage de dates
    Par Bouanda dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 24/10/2004, 21h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo