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

Développement SQL Server Discussion :

Requete : parcourrir la tables entre deux dates


Sujet :

Développement SQL Server

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2006
    Messages
    142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2006
    Messages : 142
    Points : 74
    Points
    74
    Par défaut Requete : parcourrir la tables entre deux dates
    Bonjour,

    J'ai une table reservation avec une date de debut et une date de fin pour chaque reservation.

    J'aimerais, lors de la création d'une nouvelle reservation voir si la date est disponible.

    exemple :
    dans ma table : reservation prise du 02/05/2011 au 04/05/2011.
    Je souhaite reserver du 01/05/2011 au 10/05/2011.

    Comment savoir si les dates sont prise ?

    J'ai trouver l'élément suivant comme requete :
    select * from ma reservation where (#madate# BETWEEN Date_Debut And Date_Fin)

    Mais cela ne fonctionne pas. Je suis en sql server 2000.


    Merci.

  2. #2
    Membre émérite

    Homme Profil pro
    Chargé de Développement et d'Analyse de données
    Inscrit en
    Mars 2010
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé de Développement et d'Analyse de données
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 278
    Points : 2 856
    Points
    2 856
    Par défaut
    Affiche la requête.

    Je pense ceci devrait marcher

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select * from ma reservation where tacolonnedate  BETWEEN 'Date_Debut' AND 'Date_Fin'
    Etienne ZINZINDOHOUE
    Billets-Articles

  3. #3
    Membre expert Avatar de iberserk
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Novembre 2004
    Messages
    1 795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 795
    Points : 3 173
    Points
    3 173
    Par défaut
    SELECT * FROM ma reservation WHERE tacolonnedate BETWEEN 'Date_Debut' AND 'Date_Fin'

    Je pense que çà fonctionnera mieu si on ajoute des crochets au niveau du nom de la base car apparemment elle contient un espace (au passant c pas bien)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT * 
    FROM [ma reservation] 
    WHERE taDate BETWEEN Date_Debut AND Date_Fin
    Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir.
    MCTS Database Development
    MCTS Database Administration

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Mai 2011
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Mai 2011
    Messages : 41
    Points : 25
    Points
    25
    Par défaut
    Bonjour,

    Il y a plusieurs cas possibles :
    - La réservation future empiète sur une réservation en cours
    - La réservation future est incluse dans une réservation en cours
    - La réservation future inclut une réservation en cours
    En résumé :
    Une nouvelle réservation ne doit pas commencer pendant une réservation existante
    ou finir pendant une réservation existante
    ou commencer avant une réservation existante et finir après

    Si je comprends bien la table RESERVATION contient une colonne DATE_DEBUT et une colonne DATE_FIN ?

    Une solution serait peut-être
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    SELECT *
    FROM RESERVATION
    WHERE (DATE_DEBUT < [DATE DEBUT RESERVATION] AND DATE_FIN > [DATE DEBUT RESERVATION)
    OR (DATE_DEBUT < [DATE FIN RESERVATION] AND DATE_FIN > [DATE FIN RESERVATION)
    OR (DATE_DEBUT > [DATE DEBUT RESERVATION] AND DATE_FIN < [DATE FIN RESERVATION)
    Qu'en pensez-vous ?

  5. #5
    Membre expert Avatar de iberserk
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Novembre 2004
    Messages
    1 795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 795
    Points : 3 173
    Points
    3 173
    Par défaut
    SQL PRO a publié un excellent tuto à ce sujet:
    http://sqlpro.developpez.com/cours/gestiontemps/
    Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir.
    MCTS Database Development
    MCTS Database Administration

  6. #6
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    Bonjour,

    Plus exactement ici

    @++

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Mai 2011
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Mai 2011
    Messages : 41
    Points : 25
    Points
    25
    Par défaut
    OVERLAPS est implémenté en SQL SERVER 2000 ? (Ca m'intéresserait mais je n'y crois pas trop )

  8. #8
    Membre expert Avatar de iberserk
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Novembre 2004
    Messages
    1 795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 795
    Points : 3 173
    Points
    3 173
    Par défaut
    OVERLAPS est implémenté en SQL SERVER 2000 ? (Ca m'intéresserait mais je n'y crois pas trop )
    Ni en 2008, excusez moi ce n'est pas ce tuto que je voulais vous montrer de SQL PRO... je cherche et je reviens
    Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir.
    MCTS Database Development
    MCTS Database Administration

  9. #9
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Points : 4 414
    Points
    4 414
    Par défaut
    Citation Envoyé par iberserk Voir le message
    Je pense que çà fonctionnera mieu si on ajoute des crochets au niveau du nom de la base car apparemment elle contient un espace (au passant c pas bien)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT * 
    FROM [ma reservation] 
    WHERE taDate BETWEEN Date_Debut AND Date_Fin
    Il faut éviter de créer des identifiants avec des mots reservés, c'est la règle et elle devrait s'appliquer partout. Si vous avez le choix merci de corriger ce genre d'erreur.

    Découvrez la FAQ de MS SQL Server.
    La chance accorde ses faveurs aux esprits avertis !

  10. #10
    Membre éprouvé

    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 448
    Points : 1 234
    Points
    1 234
    Par défaut
    Une réservation ce serait plutôt 2 dates.
    Une date de début (ex : @DateBegin) et une date de fin (ex : @DateEnd), non ?

    Une requête pour trouver toutes les réservations qui chevaucheraient intervalle @DateBegin => @DateEnd

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    SELECT
    *
    FROM Booking
    WHERE DateEnd > @DateBegin
    AND DateBegin < @DateEnd
    Most Valued Pas mvp

Discussions similaires

  1. [2005] Lister les tables information_schema.tables entre deux dates
    Par chriphil dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 11/09/2014, 15h08
  2. [WB17] Filtrer une table entre deux dates
    Par LaGhyoute dans le forum WebDev
    Réponses: 1
    Dernier message: 16/06/2014, 10h35
  3. [phpMyAdmin] Comment vider une table entre deux dates ou entre deux id avec phpMyAdmin
    Par patrmich dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 6
    Dernier message: 24/05/2014, 14h48
  4. [ADO Table] Filtre entre deux dates
    Par aliwassem dans le forum Bases de données
    Réponses: 3
    Dernier message: 22/04/2007, 12h36
  5. Comparaison entre deux dates dans une table
    Par Biskot75 dans le forum Access
    Réponses: 6
    Dernier message: 19/09/2006, 11h16

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