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 :

[REQUETE] jointure et valeur 'null'


Sujet :

Langage SQL

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    198
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2008
    Messages : 198
    Par défaut [REQUETE] jointure et valeur 'null'
    Bonjour, je vous explique mon problème.

    J'ai une table qui se nomme dons avec les champs suivant : IDDONS et IDSUGGESTION et SUGGAUTRE.

    J'ai une autre table qui se nomme SUGGESTION (pour suggestion de montant) avec les champs suivant : IDSUGGESTION et DESCSUGGESTION. ex : 1 - 10$

    Si un utilisateur entre une valeur suggérer, le id de cette suggestion entre dans le champ IDSUGGESTION mais si l'utilisateur entre un montant par lui même, j'entre 'null' dans la bd.

    J'aimerais être capable de ressortir les données mêmes si la valeur est a null et d'afficher 'null'.

    Pour l'instant ma requete est la suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT D.IDDONS, IIF(D.IDSUGGESTION='null','null',S.DESCSUGGESTION) AS DESCSUGGESTION FROM Dons D
    INNER JOIN SUGGESTION S ON D.IDSUGGESTION = S.IDSUGGESTION
    je n'obtiens rien... par contre si j'essaye avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT D.IDDONS, IIF(D.IDSUGGESTION='null','null',D.IDSUGGESTION) AS DESCSUGGESTION FROM Dons D
    j'obtiens

    IDDONS - DESCSUGGESTION
    1 - 1 --> le deuxième 1 dois corresponde a la description suggestion 10$
    2 - 'null'
    3 - 'null'
    4 - 3

    merci

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    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 134
    Par défaut
    Utilisez une jointure externe
    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
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    198
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2008
    Messages : 198
    Par défaut
    j'ai essayer et sa donne aucun résultat

    je suis capable de faire ressortir seulement la première row car il doit planter quand la valeur = 'null'

  4. #4
    Membre Expert Avatar de pacmann
    Homme Profil pro
    Consulté Oracle
    Inscrit en
    Juin 2004
    Messages
    1 626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consulté Oracle
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 626
    Par défaut
    Salut !

    Tu peux nous donner ta requête version jointure externe ?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    198
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2008
    Messages : 198
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT D.IDDONS, IIF(D.IDSUGGESTION='null','null',S.DESCSUGGESTION) AS DESCSUGGESTION
    FROM Dons D
    LEFT OUTER JOIN SUGGESTION S ON D.IDSUGGESTION = S.IDSUGGESTION;

  6. #6
    Membre Expert Avatar de pacmann
    Homme Profil pro
    Consulté Oracle
    Inscrit en
    Juin 2004
    Messages
    1 626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consulté Oracle
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 626
    Par défaut
    Bon, sinon au pire, tu peux faire la jointure normale, et un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    UNION ALL
    SELECT id, NULL
    FROM dons
    where IDSUGGESTION IS NULL

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    198
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2008
    Messages : 198
    Par défaut
    je comprend pas trop..

  8. #8
    Membre Expert Avatar de pacmann
    Homme Profil pro
    Consulté Oracle
    Inscrit en
    Juin 2004
    Messages
    1 626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consulté Oracle
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 626
    Par défaut
    Req1 UNION ALL Req2 : renvoie l'ensemble des lignes qu'auraient renvoyé les deux requetes séparément.

    Req1 est ta jointure. Pour les dons dont la suggestid IS NULL, la jointure ne renvoie rien :

    IDDONS - DESCSUGGESTION
    1 - 1 --> le deuxième 1 dois corresponde a la description suggestion 10$
    4 - 3

    Dans la Req2, tu demandes à juste choper les dons qui ont suggestid IS NULL donc :
    2 - 'null'
    3 - 'null'

    Et du coup, dans l'ensemble, ça te fait le bon résultat, non ?

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    198
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2008
    Messages : 198
    Par défaut
    oui mais je ne pense pas que sa marche IS NULL avec une valeur en string 'null' et non NULL...

  10. #10
    Membre Expert Avatar de pacmann
    Homme Profil pro
    Consulté Oracle
    Inscrit en
    Juin 2004
    Messages
    1 626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consulté Oracle
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 626
    Par défaut
    Euh, dans ce cas, tu arrives à adapter la solution proposée ?

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    198
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2008
    Messages : 198
    Par défaut
    oui merci javais pas penser a un union !

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

Discussions similaires

  1. requete avec la valeur NULL
    Par Hinkel dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 12/11/2008, 16h39
  2. [requete] JOINTURE et valeur null
    Par jeepibmx dans le forum SQL
    Réponses: 6
    Dernier message: 18/07/2008, 07h37
  3. Jointure et valeur NULL
    Par BiM dans le forum Langage SQL
    Réponses: 6
    Dernier message: 23/05/2005, 16h26
  4. Type de jointure et valeur NULL
    Par HULK dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 19/01/2005, 14h22
  5. [JDBC] retour de requete sql avec valeur NULL
    Par maxxou dans le forum JDBC
    Réponses: 3
    Dernier message: 13/09/2004, 14h40

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