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 :

Oracle problème jointure


Sujet :

Langage SQL

Vue hybride

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

    Informations forums :
    Inscription : Septembre 2002
    Messages : 394
    Par défaut Oracle problème jointure
    Bonjour,

    Voici mon problème.

    Quand je fais cette requête
    SELECT
    ID_EMP, NOM_EMP, PRENOM_EMP, NOM_SEC
    FROM
    EMP, SEC
    WHERE
    UPPER(EMP.ID_EMP)=UPPER( 'SON NOM' )
    AND EMP.ID_SEC=SEC.ID_SEC(+)
    il me retourne bien l'employé même si le secteur n'existe pas dans la table des secteurs. Donc c'est bon.


    Par contre si je passe le secteur 'SON SECTEUR' et qui est exactement la même valeur présente dans EMP.ID_SEC, la requête ci-dessous:
    SELECT
    ID_EMP, NOM_EMP, PRENOM_EMP, NOM_SEC
    FROM
    EMP, SEC
    WHERE
    UPPER(EMP.ID_EMP)=UPPER( 'SON NOM' )
    AND 'SON SECTEUR'=SEC.ID_SEC(+)
    me retourne rien.

    Comment peut-on expliquer çà ? Je ne comprends pas !

    Merci d'avance pour votre aide.

    A+

  2. #2
    Modérateur
    Avatar de Chtulus
    Homme Profil pro
    Ingénieur
    Inscrit en
    Avril 2008
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2008
    Messages : 3 094
    Par défaut
    Bonjour,

    Tu aurais la description de tes tables !
    « Je ne cherche pas à connaître les réponses, je cherche à comprendre les questions. »
    - Confucius -

    Les meilleurs cours, tutoriels et Docs sur les SGBD et le SQL
    Tous les cours Office
    Solutions d'Entreprise



  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    394
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2002
    Messages : 394
    Par défaut
    Un extrait:

    Table EMP
    ID_EMP VARCHAR2(60) NOT NULL,
    NOM_EMP VARCHAR2(150),
    PRENOM_EMP VARCHAR2(150),
    ID_SEC VARCHAR2(150)



    Table SEC
    ID_SEC VARCHAR2(12),
    NOM_SEC VARCHAR2(150)
    Elles ressemblent à çà !
    Je ne suis pas à l'origine de la création de ces tables. Je vois que certaines colonnes n'ont pas la même taille.

  4. #4
    Modérateur
    Avatar de Chtulus
    Homme Profil pro
    Ingénieur
    Inscrit en
    Avril 2008
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2008
    Messages : 3 094
    Par défaut
    Ah oui,

    Quel pourrait être l'explication ? Tu a vérifier la concordance des données. Si ça se trouve, pour ton ID_SEC, il ne dépasse pas les 12... Bref ce n'est pas le sujet, je crois, je te laisserai médité !


    Pour le reste, donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    AND 'SON SECTEUR'=SEC.ID_SEC(+)
    Je pense que le souci vient de cette ligne !
    « Je ne cherche pas à connaître les réponses, je cherche à comprendre les questions. »
    - Confucius -

    Les meilleurs cours, tutoriels et Docs sur les SGBD et le SQL
    Tous les cours Office
    Solutions d'Entreprise



  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    394
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2002
    Messages : 394
    Par défaut
    J'ai résolu mon problème en faisant:
    SELECT
    ID_EMP, NOM_EMP, PRENOM_EMP,
    ( SELECT NOM_SEC FROM
    SEC WHERE ID_SEC='SON SECTEUR') NOM_SEC
    FROM
    EMP
    WHERE
    UPPER(EMP.ID_EMP(+))=UPPER( 'SON NOM' )
    Merci Chtulus pour tes posts!

    Bonne journée.

    A+

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

Discussions similaires

  1. [Oracle]Problème de jointure externe
    Par devdev dans le forum Langage SQL
    Réponses: 4
    Dernier message: 24/09/2008, 14h43
  2. [ORACLE] Problème de jointure
    Par david71 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 09/08/2007, 12h39
  3. [ORACLE 9i] - Jointure ouverte sur decode
    Par sygale dans le forum Oracle
    Réponses: 3
    Dernier message: 21/04/2005, 16h07
  4. [C#] [Oracle] Problème d'Update
    Par _Air_ dans le forum Windows Forms
    Réponses: 12
    Dernier message: 06/04/2005, 13h56
  5. [PowerBuilder/Oracle] Problème de procedure stockée
    Par delphine_lep dans le forum Powerbuilder
    Réponses: 1
    Dernier message: 02/09/2004, 14h08

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