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 :

la même jointure en deux déclinaisons, possible ?


Sujet :

Designer

  1. #1
    Membre expérimenté Avatar de Benoit_Durand
    Profil pro
    Consultant en Business Intelligence Freelance
    Inscrit en
    Mars 2005
    Messages
    861
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence Freelance

    Informations forums :
    Inscription : Mars 2005
    Messages : 861
    Points : 1 308
    Points
    1 308
    Par défaut la même jointure en deux déclinaisons, possible ?
    Bonjour,

    Ma boîte utilise BO XI r2 et mon problème est le suivant :
    certains utilisateurs souhaiteraient pouvoir faire des requêtes avec des jointures externes sur des tables et d'autres utilisateurs veulent des jointures internes sur ces mêmes tables.

    en gros j'ai une table A et une B
    la jointure classique serait A inner join B on A.col=B.col
    mais je dois pouvoir faire A left outer join B on A.col=B.col

    Déjà rien que pour retranscrire ca dans le designer j'ai du mal. Est ce possible d'avoir les 2 jointures sans utiliser d'alias ?
    et oui car en les utilisateurs doivent avoir accès à la même hierarchie d'objets et claire, pas de doublons d'objets. (pas de A1 si inner et A2 si outer).

    Merci par avance

    Cordialement

  2. #2
    Rédacteur
    Avatar de Bruno2r
    Homme Profil pro
    Exploitation des données
    Inscrit en
    Décembre 2006
    Messages
    2 566
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Exploitation des données
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 566
    Points : 4 780
    Points
    4 780
    Par défaut
    Salut,

    Alias obligatoires !
    De façon à avoir deux type de jointures effectivement.
    ALIAS1 Equijointure
    ALIAS2 Jointure externe

    Le fait que tes utilisateurs veuillent la même classe d'objet devrait pouvoir se solutionner avec un objet
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    CHOIX dont le sql serait :
    @Prompt('message','type',[{'Equijointure','Jointure externe'},[class_nameobject_name'],mono,constrained)
    (sorte d'invite offrant un choix)
    Dès lors le sql de tes objets se baserait sur un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    decode(@Select(Classe/CHOIX,'Equijointure',ALIAS1.CHAMP,'Jointure externe',ALIAS2.CHAMP,null)
    A TESTER

    Une autre méthode consisterait toujours avec les alias à créer deux contextes qui s'il ne font pas l'objet d'incompatibilité d'objet se présenteront en choix à l'utilisateur (ce qui normalement doit être évité mais qui ici répondrait à ta demande)

  3. #3
    Membre expérimenté Avatar de Benoit_Durand
    Profil pro
    Consultant en Business Intelligence Freelance
    Inscrit en
    Mars 2005
    Messages
    861
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence Freelance

    Informations forums :
    Inscription : Mars 2005
    Messages : 861
    Points : 1 308
    Points
    1 308
    Par défaut
    ok je te remercie.
    je test ça et poste mes résultats.

    Si je dois faire cette manipulation pour 10 tables, il me faut 10 prompts ? :S

  4. #4
    Rédacteur
    Avatar de Bruno2r
    Homme Profil pro
    Exploitation des données
    Inscrit en
    Décembre 2006
    Messages
    2 566
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Exploitation des données
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 566
    Points : 4 780
    Points
    4 780
    Par défaut
    Pour 10 tables ... un seul prompt !
    Le prompt ne sert qu'a être testé au travers du decode()
    Vérifie quand même que dans une requête BO utilisant 2 objets basé sur ce décode alors Alias1.champ sinon Alias2.champ, le prompt n'est bien demandé qu'une fois sinon ce n'est pas une solution.

    Pour ma part, je ferais deux versions de l'univers
    Tu finalise le premier
    Enregistrer sous un nouveau nom
    Tu transformes toutes jointures en jointures externes
    Ensuite tu distribues l'un ou l'autre selon l'utilisateur ou le groupe d'utilisateur.

Discussions similaires

  1. Jointure de deux tables : même id plusieurs valeurs
    Par paddev dans le forum Langage SQL
    Réponses: 8
    Dernier message: 01/03/2013, 10h09
  2. [MySQL] jointure entre deux table qui n'appartiennet pas al même base
    Par bourbita.thameur dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 15/04/2009, 15h08
  3. [MySQL] Jointure: Avec deux champs d'une même table
    Par Vinuto dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 25/11/2008, 20h10
  4. [MySQL] Faire une jointure entre deux tables qui ne sont pas dans la même base de données
    Par sandddy dans le forum PHP & Base de données
    Réponses: 12
    Dernier message: 03/04/2008, 14h18
  5. Jointure entre deux champs d'une même table
    Par oubli dans le forum Requêtes
    Réponses: 8
    Dernier message: 11/12/2007, 16h20

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