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 de jointure : cas ou une clé étrangère est à NULL


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    190
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 190
    Par défaut pb de jointure : cas ou une clé étrangère est à NULL
    Bonjour, petit problème de jointure...

    J'ai une table PLANNING
    clé primaire ID_PLANNING
    ...
    clé étrangère FK_ACTIVITE

    Je fais la jointure avec la table ACTIVITE (ID_ACTIVITE)

    Classiquement, dans ma requête je fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    WHERE P.FK_ACTIVITE=A.ID_ACTIVITE
    pour lier mes tables...

    Le pb est que cela ne retourne pas les lignes de planning où FK_ACTIVITE=NULL

    Je règle svt le pb en faisant une requête d'union (celle ci dessus plus une autre avec WHERE FK_ACTIVITE=NULL...) ce qui n'est pas terrible surtout lq il y a d'autres clé étrangères qui peuvent être à NULL aussi...

    Je crois savoir qu'il faut passer par un autre type de jointure (extérieure? à gauche? à droite?...) avec INNER JOIN ou qqchose comme ça, mais pas plus...

    Pourriez vous me montrer sur l'exemple précédent comment utiliser ce type de jointure pour récupérer toutes mes lignes de PLANNING, que FK_ACTIVITE soit NULL ou pas...?

    Merci beaucoup.

  2. #2
    Membre expérimenté Avatar de nantais
    Inscrit en
    Juillet 2004
    Messages
    158
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 158
    Par défaut
    Tu fais ta jointure de la sorte :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Planning LEFT JOIN Activite ON planning.fk_activite = activite.id_activite
    En revanche je me permet de m'étonner de la possibilité que ta clé étrangère soit à NULL, en général on pose des contraintes sur les clés étrangères pour qu'elles ne prennent de des valeurs présentes dans la table mère, c'est là l'interêt des FK!

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    190
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 190
    Par défaut
    Merci pour cette requête...

    Concernant ta question...

    Dans la table PLANNING, j'ai une autre clé étrangère : FK_LIEU
    et donc une table LIEU (ID_LIEU)

    Si l'utilisateur crée une tache (nouvelle ligne de PLANNING) mais sans préciser le lieu, pourquoi ne pourrait-on pas avoir FK_LIEU=NULL?

  4. #4
    Membre expérimenté Avatar de nantais
    Inscrit en
    Juillet 2004
    Messages
    158
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 158
    Par défaut
    Oui tu as raison, c'est un cas à envisager....

    Je ne suis pas très bien reveillé ce matin

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    190
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 190
    Par défaut
    Merci de ton aide en tout cas, voisin Nantais

    Tibo (Angers)

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

Discussions similaires

  1. [MySQL] verifier si une clé étrangère est déja inséré dans une table mysql a l'aide du php
    Par mourad_betelgeuse dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 02/06/2013, 00h52
  2. [Wamp] Ignorer le cas où une variable $_POST est inexistante
    Par romu92 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 30/06/2009, 21h58
  3. verifier si une valeur entier est null
    Par sepehr_gsfc dans le forum Débuter avec Java
    Réponses: 4
    Dernier message: 15/03/2009, 21h53
  4. Réponses: 6
    Dernier message: 26/03/2008, 19h43
  5. Ajout de deux colonnes lorsqu'une des deux est à null
    Par KibitO dans le forum Langage SQL
    Réponses: 1
    Dernier message: 12/09/2006, 14h07

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