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

Requêtes MySQL Discussion :

Condition de retour d'un SELECT


Sujet :

Requêtes MySQL

  1. #1
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 3
    Points : 4
    Points
    4
    Par défaut Condition de retour d'un SELECT
    Bonjour à tous, je suis confronté à un problème lors du résultat retourné par mon SELECT, je m'explique :

    Je possède deux tables :

    TRANSACTION :
    int(11) : ID_TRANSACTION
    varchar(20) : NOM_OBJET
    int(11) : ID_FOURNISSEUR_OBJET

    FOURNISSEUR
    int(11) : ID_FOURNISSEUR
    varchar(20) : NOM_FOURNISSEUR

    mon problème est le suivant :

    Dans ma table TRANSACTION, le champ ID_FOURNISSEUR_OBJET peut prendre deux sortes de valeurs : Soit il est 0 si il ne référence aucun fournisseur, soit il prend la valeur de la clé primaire d'un fournisseur.

    Voici ma requête actuelle

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT ID_TRANSACTION, NOM_OBJET, NOM_FOURNISSEUR
    FROM TRANSACTION, FOURNISSEUR
    WHERE TRANSACTION.ID_FOURNISSEUR_OBJET = FOURNISSEUR.ID_FOURNISSEUR
    En fait ce que j'aimerai, c'est que si pour un enregistrement de ma table TRANSACTION, le champ ID_FOURNISSEUR_OBJET est à 0, qu'il m'affiche tout de même l'enregistrement dans les résultats, avec une chaine vide à la place du nom du fournisseur.

    Exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    TRANSACTION 
    1 / Objet1 / 1000
    2 / Objet2 / 0
    3 / Objet3 / 1001
    4 / Objet4 / 0
     
    FOURNISSEUR
    1000 / Fournisseur1
    1001 / Fournisseur2
     
    RESULTAT ATTENDU
     
    1 | Objet1 | Fournisseur1
    2 | Objet2 | 
    3 | Objet3 | Fournisseur2
    4 | Objet4 |
    Quelqu'un saurait-il me dire quelle requête écrire pour arriver à ce résultat ? Il faut bien évidemment que cela tienne en une seule requête.

    Merci d'avance pour votre réponse,

    Lockon

  2. #2
    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 : 60
    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 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Il faut faire une jointure externe.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  3. #3
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 3
    Points : 4
    Points
    4
    Par défaut
    Merci pour ta réponse, ça marche =)

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

Discussions similaires

  1. [Tableaux] Retour d'un SELECT effectué dans une classe
    Par dubitoph dans le forum Langage
    Réponses: 2
    Dernier message: 05/10/2007, 17h08
  2. [MySQL] valeur de retour requete mysql_query(select..
    Par crunk dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 19/11/2006, 15h38
  3. fonction, récupérer retour d'un SELECT
    Par Bindy dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 02/08/2006, 16h28
  4. [VB.NET] [SQL] Retour d'un SELECT pour un IF/ELSE
    Par nys_00 dans le forum Windows Forms
    Réponses: 7
    Dernier message: 17/03/2005, 12h50

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