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

QlikView Discussion :

Type de jointures entre tables


Sujet :

QlikView

  1. #1
    Membre actif
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 310
    Points : 252
    Points
    252
    Par défaut Type de jointures entre tables
    Bonjour à tous,

    J'ai deux tables A et B que je charge via un script SQL. Ces tables ont un champs en commun sur lequel une jointure se fait donc automatiquement. Sauf que par défaut c'est un INNER JOIN que fait QlikView alors que je voudrais que ce soit un LEFT OUTER JOIN.

    J'ai vu en cherchant sur le forum que pour agir sur des tables déjà chargées, il fallait utiliser la fonction RESIDENT.
    J'ai essayé différentes syntaxes mais toutes ont été refusées au moment de l'exécution.

    Pour prendre tous les champs de la table, j'ai essayé avec un * mais je suis conscient que c'est
    une syntaxe propre au SQL. J'ai essayé de mettre l'intégralité des champs un a un mais ça ne passe pas non plus.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    LOAD *
    RESIDENT A;
     
    LEFT JOIN
     
    LOAD*
    RESIDENT B;

    Merci pour votre aide

  2. #2
    Modérateur

    Inscrit en
    Octobre 2006
    Messages
    1 649
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 649
    Points : 2 529
    Points
    2 529
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Faire un
    va faire une concaténation automatique dans la table A (chargement de exactement les mêmes champs).

    Supposons que vous ayez 2 tables pré-chargées A et B.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Table_finale:
    NOCONCATENATE LOAD *
    RESIDENT A;
     
    LEFT JOIN (Table_finale)
    LOAD *
    RESIDENT B;
     
    DROP TABLE A;    // Pour éviter les grosses clés de synthèse.
    DROP TABLE B;
    Mais si vous avez déjà la table A, autant directement faire un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    LEFT JOIN (A)
    LOAD *
    RESIDENT B;
     
    DROP TABLE B;
     
    RENAME TABLE A TO Table_Finale;

  3. #3
    Membre actif
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 310
    Points : 252
    Points
    252
    Par défaut
    Merci Phunky Bob pour la réponse. Je vais essayer ça.

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

Discussions similaires

  1. Jointure entre table de différentes bases de données
    Par iLoLo21 dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 19/01/2009, 14h35
  2. [1.x] jointure entre tables de bd différentes symfony
    Par jemele dans le forum Symfony
    Réponses: 2
    Dernier message: 07/07/2008, 10h03
  3. jointure entre tables de bases différentes
    Par mcdelay dans le forum Requêtes
    Réponses: 2
    Dernier message: 17/04/2007, 12h56
  4. Maximum authorisé de jointure entre tables
    Par Arkane dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 04/12/2006, 17h49
  5. Réponses: 2
    Dernier message: 10/10/2006, 18h59

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