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 :

Ma requête ne me renvoie rien


Sujet :

Langage SQL

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    254
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 254
    Points : 101
    Points
    101
    Par défaut Ma requête ne me renvoie rien
    Bonjour à tous,

    Voilà j'ai cette requête :
    SELECT client.Nom_Cli, societe.Nom_Soc
    WHERE client.ID_Cli = '20'
    AND client.ID_Soc = societe.ID_Soc

    Mes tables sont les suivantes :
    client (ID_Cli, ID_Soc, Nom_Soc)
    societe (ID_Soc, Nom_Soc)

    Et dans une ligne de la table client j'ai par exemple :
    ID_Cli = 20, ID_Soc='vide', Nom_Cli=TOTO

    Du coup, comme l'id de la société n'a pas encore été entré, il ne me renvoie rien. Je voudrais pour ma part qu'il me renvoie au moins le nom du client correspondant à cet identifiant, et s'il n'arrive pas à trouver le nom de la société, et bien il n'a qu'à ne rien afficher.

    Comment faire? Merci de vos réponses! (je suis un peu rouillé en SQL)

  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
    Si tu avais utilisé la syntaxe normalisée pour les jointures :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT   client.Nom_Cli
       ,     societe.Nom_Soc
    FROM     client
       INNER JOIN
             societe
          ON client.ID_Soc = societe.ID_Soc
    WHERE    client.ID_Cli = '20'
    ;
    ...il te suffirait demodifier un mot pour obtenir ta réponse :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT   client.Nom_Cli
       ,     societe.Nom_Soc
    FROM     client
       LEFT OUTER JOIN
             societe
          ON client.ID_Soc = societe.ID_Soc
    WHERE    client.ID_Cli = '20'
    ;
    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 régulier
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    254
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 254
    Points : 101
    Points
    101
    Par défaut
    Merci pour le tuyau! c'est un mot clé que je ne connaissais pas

    Par ailleurs je voulais te demander, si on veut mettre plusieurs tables en LEFT OUTER JOIN, on met une virgule entre les deux?

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    254
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 254
    Points : 101
    Points
    101
    Par défaut
    Laisse tomber, je viens de trouver en testant à l'aveuglette! en fait si tu veux ajouter une nouvelle table en option (c'est à dire que s'il le trouve pas, il l'affiche pas), tu fais un autre left outer join...

    Merci pour ton aide!

  5. #5
    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
    Citation Envoyé par dessinateurttuyen
    Laisse tomber, je viens de trouver en testant à l'aveuglette! en fait si tu veux ajouter une nouvelle table en option (c'est à dire que s'il le trouve pas, il l'affiche pas), tu fais un autre left outer join...
    Sais-tu qu'il y a de très bons tutoriels sur SQL ici ?
    Tu gagnerais certainement du temps à les consulter, plutôt qu'à tester à l'aveuglette
    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.

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    254
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 254
    Points : 101
    Points
    101
    Par défaut
    Oui je sais, mais ça prenait trop de temps pour chercher un truc qui était (rétrospectivement) assez simple lol

  7. #7
    Xo
    Xo est déconnecté
    Expert confirmé
    Avatar de Xo
    Inscrit en
    Janvier 2005
    Messages
    2 701
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 701
    Points : 4 238
    Points
    4 238
    Par défaut
    Citation Envoyé par dessinateurttuyen
    Oui je sais, mais ça prenait trop de temps pour chercher un truc qui était (rétrospectivement) assez simple lol


    Ca ne prend jamais "trop" de temps de chercher, ça permet au contraire de réfléchir à son problème, de bien le cerner, mais cela permet aussi d'apprendre, d'élargir ses compétences, etc.
    "Ce que l'on conçoit bien s'énonce clairement,
    Et les mots pour le dire arrivent aisément." Nicolas Boileau

    "Expliquer empêche de comprendre si cela dispense de chercher"

    Quiz Oracle : venez tester vos connaissances !

    La FAQ Oracle : 138 réponses à vos questions
    Aidez-nous à la compléter

  8. #8
    Inactif   Avatar de Médiat
    Inscrit en
    Décembre 2003
    Messages
    1 946
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 946
    Points : 2 227
    Points
    2 227
    Par défaut
    Citation Envoyé par Xo


    Ca ne prend jamais "trop" de temps de chercher, ça permet au contraire de réfléchir à son problème, de bien le cerner, mais cela permet aussi d'apprendre, d'élargir ses compétences, etc.
    Effet pervers des sites d'entraide trop réactifs
    J'affirme péremptoirement que toute affirmation péremptoire est fausse
    5ième élément : barde-prince des figures de style, duc de la synecdoque
    Je ne réponds jamais aux questions techniques par MP

  9. #9
    Xo
    Xo est déconnecté
    Expert confirmé
    Avatar de Xo
    Inscrit en
    Janvier 2005
    Messages
    2 701
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 701
    Points : 4 238
    Points
    4 238
    Par défaut
    Citation Envoyé par Médiat
    Effet pervers des sites d'entraide trop réactifs
    Tout à fait, j'imagine qu'un certain nombre de forumeurs sont plus ou moins dans cette situation, mais rares sont ceux qui osent s'en vanter (encore heureux !). Dès lors, je ne pouvais laisser passer pareille effronterie sans marquer le coup
    "Ce que l'on conçoit bien s'énonce clairement,
    Et les mots pour le dire arrivent aisément." Nicolas Boileau

    "Expliquer empêche de comprendre si cela dispense de chercher"

    Quiz Oracle : venez tester vos connaissances !

    La FAQ Oracle : 138 réponses à vos questions
    Aidez-nous à la compléter

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

Discussions similaires

  1. [ACCESS][VB.NET] Requête valide ne renvoie rien
    Par BullsEye dans le forum VB.NET
    Réponses: 2
    Dernier message: 10/11/2011, 15h08
  2. Requête SQL qui ne renvoie rien quand la valeur est nulle
    Par vocal94130 dans le forum Requêtes
    Réponses: 4
    Dernier message: 01/09/2010, 14h11
  3. [SQL-Server] Requête qui ne renvoie rien PHP5 et SQL SERVER 2000
    Par Sytchev3 dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 28/05/2009, 09h46
  4. Réponses: 11
    Dernier message: 16/03/2007, 11h04

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