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 :

pb avec requête simple :(


Sujet :

Langage SQL

  1. #1
    Membre du Club
    Profil pro
    Webmaster
    Inscrit en
    Novembre 2006
    Messages
    158
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Novembre 2006
    Messages : 158
    Points : 57
    Points
    57
    Par défaut pb avec requête simple :(
    Bonjour,
    je ne comprends vraiment pas pourquoi je me bute sur cette requête.

    Je vous explique rapidement, je gere une bddd d'un site immobilier et ma base contient 4 tables

    le lieu
    la nature du lieu (vente ou location)
    type (appartement, maison, garage...)
    photo du lieu

    un lieu correspond à une et une seul nature
    un lieu a un et un seul type
    une photo correspond à un et un seul lieu

    je voudrais afficher par exemple tout mes lieux qui sont de nature location (pas besoin de vous détailler les tables je pense...)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    select * from lieu, nature, photo, types
    where lieu.ref_lieu = photo.ref_lieu
    and nature.num_nature = lieu.num_nature
    and types.num_type = lieu.num_type
    and nature.nom_nature = 'locaton';
    cette requete me donne rien...même pas un message d'erreur, myadmin me dit que la requete c'est bien executé mais je n'ai aucun resultat alors que j'ai bien des enregistrements dans des locations

    merci d'avance

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 673
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 673
    Points : 1 775
    Points
    1 775
    Par défaut
    Vous devriez pouvoir trouver l'explication tout seul et très sincèrement on ne peut pas réellement vous aider dans la mesure où vous n'avez pas de message d'erreur.

    Ceci dit, voici quelques conseils :

    1/ construisez votre requête par étape, en l'exécutant d'abord avec une seule table, puis avec 2, 3, etc. jusqu'à arriver à votre requête finale.
    Vous constaterez qu'à un moment vous cherchez à faire une jointure qui n'existe pas et donc votre requête ne ramène plus aucune ligne

    2/ effectuez vos jointures avec les mots clés INNER JOIN, OUTER JOIN, etc. plutôt que dans le where qui est une syntaxe obsolète depuis des années

    3/ si vous voulez être aidé, conformez vous aux règles du forum en indiquant votre SGBD ET sa version, en donnant un titre explicite à votre sujet

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 100
    Points : 116
    Points
    116
    Par défaut
    'locaton'
    ce serait pas plustôt
    'location'

  4. #4
    Membre habitué Avatar de scorpion.os
    Homme Profil pro
    Chef de projet Cobol/AS400
    Inscrit en
    Mai 2006
    Messages
    159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet Cobol/AS400

    Informations forums :
    Inscription : Mai 2006
    Messages : 159
    Points : 131
    Points
    131
    Par défaut
    puiske tu selectionne a partir de plusieurs tables,donc tu devrais faire ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    select *.nature from lieu ,nature..........
    ici le * correpond a tou les champs de la table nature.

  5. #5
    Membre du Club
    Profil pro
    Webmaster
    Inscrit en
    Novembre 2006
    Messages
    158
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Novembre 2006
    Messages : 158
    Points : 57
    Points
    57
    Par défaut
    Citation Envoyé par Sifo-Dyas
    ce serait pas plustôt

    oups petite erreur de frappe en vous écriant le code mais malheureusement ce n'est pas ça.

    scorpion.os je vous afficher toutes les infos de mes tables le *.nature c'est ce qu'il y a dans ma table nature non ?

  6. #6
    Membre confirmé Avatar de chrifo
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    444
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 444
    Points : 481
    Points
    481
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    select nature.* from lieu ,nature..........

  7. #7
    Membre habitué Avatar de scorpion.os
    Homme Profil pro
    Chef de projet Cobol/AS400
    Inscrit en
    Mai 2006
    Messages
    159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet Cobol/AS400

    Informations forums :
    Inscription : Mai 2006
    Messages : 159
    Points : 131
    Points
    131
    Par défaut
    oui c vrai c nature.* ,"erreur de frappe" .
    et c 'est pas ce que tu as mis dans ta requetes

  8. #8
    Membre du Club
    Profil pro
    Webmaster
    Inscrit en
    Novembre 2006
    Messages
    158
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Novembre 2006
    Messages : 158
    Points : 57
    Points
    57
    Par défaut
    jusque là ça fonctionne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select * from lieu, nature, types
    where lieu.num_nature = nature.num_nature
    and lieu.num_type = types.num_type

    j'ai des resultats mais dés que je rajoute ma table photo je n'ai plus rien...

  9. #9
    Membre confirmé Avatar de chrifo
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    444
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 444
    Points : 481
    Points
    481
    Par défaut
    Citation Envoyé par jiojioforever
    j'ai des resultats mais dés que je rajoute ma table photo je n'ai plus rien...
    C'est que vous ne devez pas avoir de photo pour chaque lieu --> il vous faut une jointure externe !

  10. #10
    Membre du Club
    Profil pro
    Webmaster
    Inscrit en
    Novembre 2006
    Messages
    158
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Novembre 2006
    Messages : 158
    Points : 57
    Points
    57
    Par défaut
    ben j'ai bien mis que une photo est associé à un et un seul lieu

    donc


    LIEU : ref_lieu
    PHOTO : num_photo, #ref_lieu

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT * FROM lieu, nature, photo, types
    WHERE lieu.ref_lieu = photo.ref_lieu
    AND nature.num_nature = lieu.num_nature
    AND types.num_type = lieu.num_type
    AND nature.nom_nature = 'location';
    donc je ne vois pas le pb...

  11. #11
    Membre du Club
    Profil pro
    Webmaster
    Inscrit en
    Novembre 2006
    Messages
    158
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Novembre 2006
    Messages : 158
    Points : 57
    Points
    57
    Par défaut
    il y a peu être trop de résultat pour une ligne non ? sachant que je peux avoir 10 photos par lieu + description... sans les photos j'ai 12 champs.

  12. #12
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 100
    Points : 116
    Points
    116
    Par défaut
    Et tu sûr que chaque lieu en location posséde bien au moins une photo.
    Vu ton résultat, je dirais que tu n'as pas de photo pour les locations

    Une jointure externe pour les photos ne me parait pas superflu.

  13. #13
    Membre du Club
    Profil pro
    Webmaster
    Inscrit en
    Novembre 2006
    Messages
    158
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Novembre 2006
    Messages : 158
    Points : 57
    Points
    57
    Par défaut
    ce qui est bizar c'est que cette requete je n'ai pas de résultats

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    select * from lieu, photo
    where lieu.ref_lieu = photo.ref_lieu;
    en revanche si je fais un

    j'ai toutes mes photos avec le ref_lieu associé

  14. #14
    Membre du Club
    Profil pro
    Webmaster
    Inscrit en
    Novembre 2006
    Messages
    158
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Novembre 2006
    Messages : 158
    Points : 57
    Points
    57
    Par défaut
    erf voilà j'ai trouvé...mon ref_lieu de ma table LIEU et le ref_lieu de photo était différent pfff pourquoi je ne l'ai pas vu tout de suite....

    désolé de vous avor fait perdre votre temps

    encore merci

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

Discussions similaires

  1. [Web Service] Expiration d'une requête simple avec Amazon Web Services
    Par cyberlp dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 12/11/2010, 15h50
  2. problème avec requête simple pgsql
    Par php_faboul dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 30/04/2010, 10h50
  3. Supprimer fichiers avec une simple requête
    Par chh2008 dans le forum Requêtes
    Réponses: 1
    Dernier message: 18/03/2010, 12h08
  4. Requête simple, mais avec des contraintes
    Par D-Kalck dans le forum Requêtes
    Réponses: 4
    Dernier message: 06/11/2008, 10h02
  5. [WD9] [Débutant] Souci avec une simple requête
    Par unix27 dans le forum WinDev
    Réponses: 4
    Dernier message: 04/04/2006, 00h54

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