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 :

valeur 'null' dans une table


Sujet :

Langage SQL

  1. #1
    Candidat au Club
    Inscrit en
    Octobre 2007
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 2
    Points : 2
    Points
    2
    Par défaut valeur 'null' dans une table
    Bonjour à tous,

    Voici mon probleme :

    J'ai deux tables :

    bloc(id_bloc, texte, id_type)
    type_bloc(id_type, nom_type)

    id_bloc est la clé primaire de bloc et id_type est la clé primaire de type_bloc

    bloc.id_type est une clé secondaire qui référence type_bloc.id_type, sachant que celui ci peut etre "null" dans la table bloc.

    Je voudrais afficher tous les id_bloc de telle sorte à obtenir un résultat avec 3 colonnes qui sont :

    id_bloc | Texte | nom_type

    Le probleme est que lorsque bloc.id_type existe, je n'arrive pas à le remplacer par son nom...

    Je me contente donc pour l'instant d'afficher id_bloc | texte | id_type (select * from bloc) mais je dois avouer que pour l'utilisateur, voir un chiffre dans la colonne 'type' n'est pas tres glamour..

    PS:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     select * from bloc, type_bloc where bloc.id_type = type_bloc.id_type
    ne m'affiche pas les blocs avec des id_type 'null'.


    J'ai besoin de votre aide. Merci d'avance...

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 080
    Points : 30 803
    Points
    30 803
    Par défaut
    Utilisez une jointure externe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT  * 
    FROM    bloc
        LEFT JOIN
            type_bloc 
            ON  bloc.id_type = type_bloc.id_type
    ;
    Et, même pour une jointure interne, utilisez l'opérateur JOIN...ON, défini dès 1992 dans la norme ANSI-SQL, qui améliore la lisibilité de la requête en séparant ce qui relève de la jointure de ce qui relève du filtre.
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  3. #3
    Candidat au Club
    Inscrit en
    Octobre 2007
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    C'est parfait..

    Merci beaucoup

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

Discussions similaires

  1. [Elementum] Insertion de valeurs nulles dans une colonne numérique d'un table
    Par cquilgars dans le forum Autres outils décisionnels
    Réponses: 2
    Dernier message: 17/07/2012, 11h50
  2. Réponses: 2
    Dernier message: 08/03/2011, 11h53
  3. nombre de valeurs non nulles dans une tables
    Par 080983 dans le forum SQL
    Réponses: 33
    Dernier message: 27/08/2007, 12h04
  4. Valeur null dans une table access 2000
    Par thierry007 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 27/11/2006, 10h16
  5. remplacer les valeurs nulles dans une table
    Par jessy212 dans le forum Access
    Réponses: 4
    Dernier message: 28/08/2006, 13h22

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