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 :

Comment faire pour afficher un résultat dont certaines lignes n'ont pas de relation?


Sujet :

Langage SQL

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2002
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Comment faire pour afficher un résultat dont certaines lignes n'ont pas de relation?
    Bonjour,

    Mon problème est la requête suivante:
    ---------------------------------------------
    SELECT typevelo.nom,
    marque.nom,
    gamme.nom,
    categorie.nom,
    souscat.nom,
    velo.modele,
    velo.prix,
    velo.liensite,
    velo.homme,
    velo.id

    FROM `velo`,
    `marque`,
    `gamme`,
    `categorie`,
    `souscat`,
    `typevelo`

    WHERE velo.idmarque = marque.id
    AND velo.idgamme = gamme.id
    AND velo.idcat = categorie.id
    AND velo.idsouscat = souscat.id
    AND velo.idtypevelo = typevelo.id

    ---------------------------------------------

    Il peut arriver que velo.idcat soit null
    Il peut arriver que velo.idsoucat soit null
    Il peut arriver que velo.idtypevelo soit null

    J'ai donc un problème avec les conditions suivantes:
    AND velo.idcat = categorie.id
    AND velo.idsouscat = souscat.id
    AND velo.idtypevelo = typevelo.id

    Comment faire pour que la requête me retourne aussi les vélos qui n'ont pas de relation avec les tables categories, soucat ou typevelo plus les autres vélos qui ont cette relation?

    Merci d'avance.

    Chris.

  2. #2
    Expert confirmé Avatar de Cybher
    Homme Profil pro
    Consultant réseaux et sécurité
    Inscrit en
    Mai 2005
    Messages
    3 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Consultant réseaux et sécurité
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Points : 4 644
    Points
    4 644
    Par défaut
    Salut,

    si j'ai bien compris, regarde du coté de LEFT JOIN

    Bon courage

    Michel

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2002
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Salut Michel,
    Merci!! Tu m'as mis dans la bonne voie!
    Ma requête fonctionne grâce au left join.
    La voici:

    SELECT typevelo.nom,
    marque.nom,
    gamme.nom,
    categorie.nom,
    souscat.nom,
    velo.modele,
    velo.prix,
    velo.liensite,
    velo.homme,
    velo.id
    FROM marque,gamme,velo
    LEFT JOIN categorie ON (velo.idcat=categorie.id)
    LEFT JOIN souscat ON (velo.idsouscat=souscat.id)
    LEFT JOIN typevelo ON (velo.idtypevelo=typevelo.id)

    WHERE velo.idmarque = marque.id
    AND velo.idgamme = gamme.id


    Bonne journée!

  4. #4
    Expert confirmé Avatar de Cybher
    Homme Profil pro
    Consultant réseaux et sécurité
    Inscrit en
    Mai 2005
    Messages
    3 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Consultant réseaux et sécurité
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Points : 4 644
    Points
    4 644
    Par défaut
    tu dois meme pouvoir tout passer à l'aide de jointure (des 'join' pour le reste)

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 17/10/2006, 23h55
  2. comment faire pour afficher l'adresse IP externe ?
    Par longbeach dans le forum Entrée/Sortie
    Réponses: 1
    Dernier message: 17/08/2006, 14h04
  3. Réponses: 8
    Dernier message: 11/08/2006, 14h13
  4. Réponses: 1
    Dernier message: 18/07/2006, 23h38
  5. Comment faire pour afficher une image ds une dbgrid
    Par totomaze dans le forum Bases de données
    Réponses: 2
    Dernier message: 16/10/2004, 15h31

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