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

Designer Discussion :

jointure complex sur champ identique OU VIDE à droite! [Vxi3]


Sujet :

Designer

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 72
    Points : 47
    Points
    47
    Par défaut jointure complex sur champ identique OU VIDE à droite!
    Bonjour,

    Je cherche à joindre ma table Client (Code_Client , Nom_Client) avec ma table des Remises de Prix (Code_Client , Remise , Code_Article) pour obtenir mon simple rapport des remises par Client:
    Code_Client , Nom_Client , Remise , Code_Article

    La difficulté provient de la table des Remises de Prix qui est byzarement foutue : en effet elle possède de nombreux enregistrements avec le champ Code_Client VIDE !! ce qui signifie alors que la remise pour ce Code_Article est applicable à tous les Clients.

    Je cherche donc à joindre 2 tables sur un champ qui doit être soit (classiquement) identique, soit vide dans la seconde table.

    Et là, je sèche après avoir consulté l'aide (qui m'a mis l'eau à la bouche en parlant de théta-jointure mais sans aller plus loin), le FAQ et les messages du Forum.

    Je suis à l'écoute de vos propositions pour les tester. merci !

  2. #2
    Rédacteur
    Avatar de TomDuBouchon
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juin 2009
    Messages
    3 343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 343
    Points : 5 848
    Points
    5 848
    Par défaut
    Bonjour,

    Je pense que tu as dû confondre... Les théta-jointures sont simplement des jointures réalisées avec des signes autre que "=". ("<",">","<>")

    Après, tout dépend ce que tu souhaites obtenir, mais pourquoi ne pas faire une jointure externe ?
    oracle 8 : TABLE1.CHAMP1 = TABLE2.CHAMP1 (+) (dans le WHERE)
    oracle 9, 10, 11; SQL Server : TABLE1 LEFT OUTER JOIN TABLE 2 ON TABLE1.CHAMP1 = TABLE2.CHAMP1 (dans le FROM)
    Pensez à consulter les FAQs BI, les Tutoriels BI et à effectuer des Recherches.
    Un message vous a aidé ? Votez en cliquant sur
    Votre problème est résolu ? Merci de l'indiquer en cliquant sur le bouton

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 72
    Points : 47
    Points
    47
    Par défaut
    Bonjour TOM,

    J'ai sans doute manqué de précision.
    Car une jointure externe ne me ramènera pas l'enregisstrement de jointure d'un enregistrement Client toto avec un enregistrement de Remise 30% pour tout client (càd champ client vide dans la table des Remises).
    je voudrais :
    Client Nom / Client Remise Article
    12 toto toto 10% jambon
    12 toto 20% poulet
    (une jointure externe ne me ramenera que :
    12 toto toto 10% jambon
    12 toto

    Ps: Mais peut-être que dans DESKI je peux créer un produit cartésien dans le fournisseur de données et le réduire par une condition table1.Client=table2.Client OU table2.Client=Nul

    Est-ce que je me suis mieux fait comprendre ?

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 72
    Points : 47
    Points
    47
    Par défaut
    Bonsoir,

    Bon, bennn ! A défaut de pouvoir jouer sur la jointure dans Designer (solution qui aurait été plus élégante et plus pratique pour les autres dévelopeurs internes sur Deski), je me suis replié sur Deski pour appliquer les conditions adéquates dans le fournisseur de donnée.

    Peut-être qu'une prochaine version de B.O offrira la possibilité de jointure plus complexes ?

    En tout cas, merci encore.

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

Discussions similaires

  1. jointure impossible sur champ calculé
    Par gg2vig dans le forum Toad
    Réponses: 2
    Dernier message: 15/01/2009, 20h05
  2. question requete complexe sur champ varchar
    Par pazgal dans le forum Langage SQL
    Réponses: 20
    Dernier message: 14/10/2008, 17h09
  3. Filtre sur champ null ou vide
    Par pierrot67 dans le forum Débuter
    Réponses: 4
    Dernier message: 15/09/2007, 13h10
  4. [debutant] test sur champ de formulaire vide
    Par eyango dans le forum Access
    Réponses: 1
    Dernier message: 25/08/2006, 18h17
  5. Réponses: 2
    Dernier message: 03/02/2005, 13h21

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