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 :

Aide pour requête SQL


Sujet :

Langage SQL

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Aide pour requête SQL
    Bonjour,

    Je suis étudiant et j'ai à faire un projet informatique. J'ai choisi de construire un site de réservation de camping.
    J'ai créé dans ma base de données plusieurs tables en sql et j'aimerais, via du php, faire une requête particulière.

    Voici mes tables :

    Client
    ->id_client
    ->nom (PK)
    ->prénom (PK)
    ->numéro
    ->rue
    ->ville
    ->CP
    ->téléphone

    Emplacement
    ->id_emplacement (PK)
    ->id_type (FK)
    ->id_zone (FK)
    ->tarif
    ->surface

    Zone
    ->id_zone (PK)
    ->nom

    Type
    ->id_type (PK)
    ->nom

    Réservation
    ->id_réservation (PK)
    ->id_client (FK)
    ->id_emplacement(FK)
    ->date_semaine

    Je souhaite via un formulaire faire apparaître les emplacements disponibles d'une zone (choisie par l'utilisateur), qui ne sont pas déjà réservés.

    Pour faire apparaitre les emplacements d'une zone j'ai une requête qui fonctionne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    select id_emplacement from emplacement,zone 
    where emplacement.id_zone=zone.id_zone and zone.nom="..." ;
    Par contre je n'arrive pas à trouver le moyen d'inclure la contrainte de la date... Il faudrait (en plus de la zone) afficher les emplacements disponible pendant la semaine choisie par l'utilisateur.

    Pouvez vous m'aider ?

    Merci

  2. #2
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    Bonjour,

    Vous n'avez pas précisé le format de la colonne date_semaine, et ce qu'elle contient.
    Vous n'avez pas de date début/fin, est-ce que date_semaine contient le numéro de la semaine dans l'année ? ou la date du lundi ? ou autre ?

    sur le principe, il faut ajouter une jointure sur la table Reservation et ajouter un filtre sur la date.
    Mais la requête finale dépend de votre réponse à ma question au dessus...

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Bonjour,

    Tout d'abord merci de m'avoir répondu

    La colonne date_semaine contient le numéro de la semaine dans l'année. Au départ, je voulais faire un date de début et de fin de séjour mais mon prof m'a conseillé de faire comme ça pour simplifier.

  4. #4
    Membre émérite Avatar de pacmann
    Homme Profil pro
    Consulté Oracle
    Inscrit en
    Juin 2004
    Messages
    1 626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consulté Oracle
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 626
    Points : 2 845
    Points
    2 845
    Par défaut
    Salut,

    Cela signifie donc qu'on ne peut réserver que pour des semaines complètes, et que si on reste deux semaines on a deux id_reservation ?

    Dans ce cas, il te faut lister les semaines (ou bien les sélectionner à partir d'une table calendrier), faire le produit cartésien avec ta requête initiale afin de retourner tous les créneaux existants pour tous tes emplacements, et exclure les réservations par exemples avec un NOT EXISTS ou NOT IN.

    (c'est ma photo)
    Paku, Paku !
    Pour les jeunes incultes : non, je ne suis pas un pokémon...

    Le pacblog : http://pacmann.over-blog.com/

  5. #5
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    et ça signifie aussi que l'on ne peut utiliser le programme que pour une seule année : en effet, impossible de faire la différence entre la semaine 42 de l'année 2013 et la semaine 42 de l'année 2014...

  6. #6
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 768
    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 768
    Points : 52 719
    Points
    52 719
    Billets dans le blog
    5
    Par défaut
    Dans tous les CMD, dès que vous avez de la planification à faire, il faut une table de planification. Donc une table avec toutes les semaines de toutes les années depuis la création du monde jusqu'à la fin des temps...

    Sans cela il est impossible de faire de telles requêtes de manière simple et performante.

    À me lire : http://sqlpro.developpez.com/cours/gestiontemps/

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  7. #7
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Merci pour toutes vos réponses !


Discussions similaires

  1. Aide pour requête SQL
    Par 0x0000091 dans le forum Langage SQL
    Réponses: 6
    Dernier message: 07/01/2009, 15h50
  2. Aide pour requête SQL
    Par eatherquake dans le forum Langage SQL
    Réponses: 2
    Dernier message: 10/12/2008, 14h44
  3. Aide pour requête SQL assez simple
    Par Pilloutou dans le forum Langage SQL
    Réponses: 15
    Dernier message: 28/03/2008, 15h07
  4. Besoin d'aide pour requête SQL
    Par dinver78 dans le forum Langage SQL
    Réponses: 1
    Dernier message: 21/05/2007, 18h20
  5. Besoin d'aide pour requête SQL
    Par vallica dans le forum Requêtes
    Réponses: 10
    Dernier message: 08/06/2006, 23h16

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