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

Langage SQL Discussion :

Gestion période de réservation


Sujet :

Langage SQL

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2011
    Messages : 11
    Points : 7
    Points
    7
    Par défaut Gestion période de réservation
    Bonjour,


    Je crée actuellement un projet codé en VB NET. Ce projet consiste en la gestion d'un hôtel.

    Je souhaite afficher toutes les chambres disponibles dans une période choisie par l'utilisateur.

    voici le début pour que vous compreniez mon problème :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT id_chambre, nom_chambre FROM Chambres
    INNER JOIN Reservations ON Chambres.id_chambre=Reservations.id_chambre
    WHERE ...
    C'est le WHERE qui me pose problème !
    Quels sont les test à effectuer pour que les chambres réservées pendant cette période, ne soit pas prises en compte...

    Merci beaucoup d'avance pour votre aide !


    Calixte 35

  2. #2
    Membre expérimenté
    Homme Profil pro
    Ingenieur de recherche - Ecologue
    Inscrit en
    Juin 2003
    Messages
    1 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingenieur de recherche - Ecologue

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 152
    Points : 1 414
    Points
    1 414
    Par défaut
    bonjour

    j'imagine que des dates doivent entrer en ligne de compte


    une des possibilites est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT Chambres.id_chambre, Chambres.nom_chambre 
       FROM Chambres
           LEFT JOIN Reservations ON Chambres.id_chambre=Reservations.id_chambre
       WHERE Reservations.id_chambre IS NULL .....

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2011
    Messages : 11
    Points : 7
    Points
    7
    Par défaut
    Wiiii !!!

    Désolé de répondre seulement maintenant...j'étais en voiture !

    Donc oui bien sur des dates sont en jeu. Je ne comprend pas trop ce que tu cherches à faire dans ton where...

    Voici la structure de mes 2 tables concernées :

    CHAMBRES[
    id_cham
    num_cham
    nom_cham
    super_cham
    descr_cham
    ...
    ]

    RESERVATIONS[
    id_reserv
    id_chambre
    id_client
    date_deb_reserv
    date_fin_reserv
    ...
    ]

    et ensuite dans l'interface deux dates sont choisis : (champs calendrier en VB NET)
    -calendDu.value
    -calendAu.value

    Voila...donc ma question concerne "l'organisation" de tout cela pour que ça fonctionne correctement.

    On comprend bien si le client recherche du 13/05 au 21/05, mais qu'une réservation court dans une chambre du 10/05 au 15/05, et bien on n'affichera pas cette chambre...

    Faut-il utiliser des opérateurs de comparaison ?
    Vraiment merci de m'aider !

  4. #4
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    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 453
    Points : 18 386
    Points
    18 386
    Par défaut
    Et avant de créer votre sujet, avez-vous essayé de faire une recherche sur le forum avec le mot "réservation" ?

    Une vingtaine de solutions se présentent directement à vos yeux, c'est la magie de développez.com !

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2011
    Messages : 11
    Points : 7
    Points
    7
    Par défaut
    oHoOo j'ai cherché mais pas avec réservation...je file chercher je vous tiens au courant ! merci !

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2011
    Messages : 11
    Points : 7
    Points
    7
    Par défaut
    J'ai donc cherché dans les différentes solutions...mais je ne vois vraiment pas comment exploiter l'une d'entre elles pour mon pb....
    Elles se présente toutes dans des sens différents...

    Vraiment merci de m'aider !

  7. #7
    Membre expérimenté
    Homme Profil pro
    Ingenieur de recherche - Ecologue
    Inscrit en
    Juin 2003
    Messages
    1 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingenieur de recherche - Ecologue

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 152
    Points : 1 414
    Points
    1 414
    Par défaut
    as tu pense aux petits papier de SQLPro ?



    voici une discussion sur la meme thematique (sans doute a adapter)

    une autre

    etc....

    le principe est de verifier qu'il n'existe pas de reservation (NOT EXISTS) pour la chambre dans la periode consideree


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    SELECT ....
    FROM Chambres
    WHERE NOT EXISTS (
      SELECT 1
      FROM Chambres
      INNER JOIN Reservation on (.... = .....)
      WHERE id_chambre = ....
        AND (date_deb_reserv BETWEEN date1 AND date2
          OR date_fin_reserv BETWEEN date1 AND date2)
        )
    un truc dans le genre

    au fait on peut rajouter

  8. #8
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 048
    Points
    34 048
    Billets dans le blog
    14
    Par défaut
    Si une chambre est réservée de avant la date1 à après la date 2, il faut aussi l'exclure donc ajouter cette condition dans la parenthèse :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    OR (date_deb_reserv < date1 AND date_fin_reserv > date2)
    Si ton SGBD comprend la fonction OVERLAPS, regarde la solution détaillée donnée dans une discussion récente à partir de ce message.

  9. #9
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 874
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 874
    Points : 53 048
    Points
    53 048
    Billets dans le blog
    6
    Par défaut
    Votre modèle est déjà mal conçu... Soit vous avez oublié les contraintes, apr exemple date_debut < date_fin (sinon en modif il risque d'y avoir des dégâts), sinon, plus pratique, faites date_debut, durée_jour.

    A +

  10. #10
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2011
    Messages : 11
    Points : 7
    Points
    7
    Par défaut Super ;)
    Merci beaucoup pour toutes vos réponses. J'ai utilisé chacune d'entre elle pour répondre à mon besoin !

    Encore Merci !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MCD] Gestion de réservations (Vidéo Proj)
    Par Julien Rozier dans le forum Schéma
    Réponses: 8
    Dernier message: 03/05/2008, 00h46
  2. Requêtes gestion hotel (réservation)
    Par pierrot53 dans le forum Langage SQL
    Réponses: 6
    Dernier message: 28/03/2008, 12h12
  3. [MCD] Aide Gestion des réservations d'une chaine d'hôtels
    Par tesnimeronsard dans le forum Schéma
    Réponses: 30
    Dernier message: 25/02/2008, 16h33
  4. [SSAS] Gestion de période temps
    Par enrique44 dans le forum SSAS
    Réponses: 1
    Dernier message: 02/05/2007, 16h51
  5. API gestion de dates et période
    Par ran_hery dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 28/07/2006, 10h18

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