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

Requêtes et SQL. Discussion :

Comment extraire des périodes


Sujet :

Requêtes et SQL.

  1. #1
    Nouveau membre du Club
    Inscrit en
    Avril 2007
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 36
    Points : 25
    Points
    25
    Par défaut Comment extraire des périodes
    Bonjour,

    J'ai un fichier comprenant
    des colonnes suivantes :datedeb 1, datefin 1 , datedeb 2 , datefin 2

    Le but est d'extraire des périodes se chevauchant plusieurs périodes
    Un exemple s'impose

    voici un extrait de mon fichier (il provient d'une requête qui récupére les périodes 2 dans une table, prisent dans la période 1 d'une autre table) c'est à dire que les périodes 2 sont toujours à cheval sur la période1

    Voici la requête pour info (rem base = periode 1 et remcrema = periode 2)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    SELECT Rem_base.[Schéma de REM], Rem_base.[Offres Orange], Rem_base.Type, Rem_base.[Date debut], Rem_base.[Date fin], Rem_base.Montant, Rem_base.Montant+Rem_crema.Montant AS Total, Rem_crema.[Date debut], Rem_crema.[Date fin], Rem_crema.Montant
     
    FROM Rem_crema 
    INNER JOIN Rem_base ON (Rem_crema.[Schéma de REM] = Rem_base.[Schéma de REM]) 
    AND (Rem_crema.[Offres Orange] = Rem_base.[Offres Orange]) 
    AND (Rem_crema.Type = Rem_base.Type)
    WHERE (((Rem_base.[Date debut])<=[Rem_crema].[Date fin]) 
    AND ((Rem_base.[Date fin])>=([Rem_crema].[Date debut]))) 
    OR (((Rem_base.[Date fin])>=([Rem_crema].[Date debut])) 
    AND ((Rem_crema.[Date fin]) Is Null));
    01/01/2009, 15/01/2009, 25/12/2008, 13/01/2009
    01/01/2009, 15/01/2009, 14/01/2009, 15/01/2009

    en sortie je voudrais les lignes avec les périodes suivantes (aucune période ne se chevauche.)

    25/12/2008 , 31/12/2008
    01/01/2009, 13/01/2009
    14/01/2009, 15/01/2009

    Existerait il une solution pour parvenir à ce résultat.

    Merci par avance de vos réponses

    bonne journée à tous

    cn

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 651
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 651
    Points : 34 360
    Points
    34 360
    Par défaut
    salut,
    la gestion des intervalles de dates se fait avec le critère BETWEEN
    exemple :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE [DateFin] BETWEEN Now()-7 AND Now()
    pour les dates de fin des 7 derniers jours.

    S'il s'agit de trouver en fonction des dates les intervalles, tu peux faire une requête UNION avec un order by.

Discussions similaires

  1. Réponses: 2
    Dernier message: 20/10/2006, 10h49
  2. Réponses: 4
    Dernier message: 11/05/2006, 14h41
  3. [xml] comment extraire des donnés xml
    Par Lodos dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 20/04/2006, 21h47
  4. Comment extraire des infos d'un fichier Word ?
    Par Raoul d'Andrésy dans le forum VBA Word
    Réponses: 4
    Dernier message: 02/12/2005, 17h20
  5. Comment extraire des caractères d'une chaine ?
    Par Powa87 dans le forum Langage
    Réponses: 16
    Dernier message: 01/01/2005, 19h00

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