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

MySQL Discussion :

Requête SQL : chevauchement permis pour seulement deux enregistrements


Sujet :

MySQL

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 6
    Points : 6
    Points
    6
    Par défaut Requête SQL : chevauchement permis pour seulement deux enregistrements
    Bonjour

    J'ai une table PRESTATAIRE (ID,nom, datedebut , datefin)

    Pour valider une insertion d'un prestataire sur une période :
    deux conditions :
    - Il n'y pas d'autres prestataires sur cette période
    ou il est le deuxième prestataire sur cette période .

    J'ai besoin de votre aide pour faire la requête de vérification .

  2. #2
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 136
    Points : 38 912
    Points
    38 912
    Billets dans le blog
    9
    Par défaut
    Soit 2 périodes
    - Période 1 : début = D1, fin = F1
    - Période 2 : début = D2, fin = F2

    Il y a chevauchement si D2 =< F1 et F2 >= D1

  3. #3
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 381
    Points : 19 066
    Points
    19 066
    Par défaut
    Salut aobmilan.

    Soit une période allant du '2015-02-15' jusqu'au '2015-03-15'.
    On veut connaitre les prestataires présents dans cette période.

    Je donne ma solution, ainsi que celle escartefigue.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    --------------
    select *
    from test
    --------------
     
    +----+-----------+------------+------------+
    | id | nom       | datedeb    | datefin    |
    +----+-----------+------------+------------+
    |  1 | albert    | 2015-01-01 | 2015-01-31 |
    |  2 | bertrand  | 2015-02-01 | 2015-02-28 |
    |  3 | christian | 2015-03-01 | 2015-03-31 |
    |  4 | didier    | 2015-04-01 | 2015-04-30 |
    +----+-----------+------------+------------+
    --------------
    select *
    from test
    where datedeb <= '2015-03-15'
    and   datefin >= '2015-02-15'
    --------------
     
    +----+-----------+------------+------------+
    | id | nom       | datedeb    | datefin    |
    +----+-----------+------------+------------+
    |  2 | bertrand  | 2015-02-01 | 2015-02-28 |
    |  3 | christian | 2015-03-01 | 2015-03-31 |
    +----+-----------+------------+------------+
    --------------
    select *
    from test
    where datedeb between '2015-02-15' and '2015-03-15'
    or    datefin between '2015-02-15' and '2015-03-15'
    --------------
     
    +----+-----------+------------+------------+
    | id | nom       | datedeb    | datefin    |
    +----+-----------+------------+------------+
    |  2 | bertrand  | 2015-02-01 | 2015-02-28 |
    |  3 | christian | 2015-03-01 | 2015-03-31 |
    +----+-----------+------------+------------+
     
    Appuyez sur une touche pour continuer...
    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

Discussions similaires

  1. Requête SQL DELETE mais d'un seul enregistrement
    Par stefg13 dans le forum Requêtes et SQL.
    Réponses: 0
    Dernier message: 15/12/2009, 17h53
  2. [Requête SQL]Trop longue pour une ligne
    Par jbulysse dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 17/07/2008, 14h27
  3. Requête SQL trop compliquée pour moi
    Par goldenboy68 dans le forum Langage SQL
    Réponses: 8
    Dernier message: 10/04/2008, 14h50
  4. Requête SQL comportant un champ en deux mots ?
    Par bds2006 dans le forum Bases de données
    Réponses: 2
    Dernier message: 27/06/2006, 11h41
  5. [SQL] Requête SQL trop compliquée pour lui.
    Par psychoBob dans le forum PHP & Base de données
    Réponses: 18
    Dernier message: 23/05/2006, 22h52

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