Revenir à

Sélection

Création de jointures entre les tables

Les relations entre les tables augmentent la puissance des requêtes. Dans QUERY, les relations ou jointures sont créées automatiquement lorsque plusieurs tables sont ajoutées à la zone du générateur de requêtes, si une liaison de type clé primaire ou check table existe entre les tables.

Pour améliorer le temps de retour pour des jointures multitables, quand un critère est appliqué à un champ d'une table, le même critère est aussi appliqué à ce champ dans les autres tables de la jointure. Donc, la jointure n'est effectuée qu'entre les enregistrements filtrés des tables et non pas sur les tables complètes.

Liaisons de type clé primaire et liaisons de type check table

Une liaison de type check table existe entre deux tables si elles sont reliées par des champs de clé étrangère. Une table désigne certains de ses champs en tant que clés primaires de l'autre table, dénommée la check table.

Une jointure par clé primaire est possible lorsque les clés primaires des tables portent le même nom de champ et sont du même type de données et de la même taille de champ. La clé primaire est désignée par une icône de clé . Les index sont signalés par une clé bleue inversée index key.

Jointure par défaut des clés primaires et d'index

Si une clé primaire et une clé d'index ont des champs de données en correspondance, l'application crée des jointures automatiques entre la clé primaire et la clé d'index. Les tables doivent contenir le même nom de champ, la même taille de champ et accueillir le même type de données.

REMARQUE : si les clés primaires sont liées, les clés d'index ne sont pas jointes automatiquement.

Jointures définies par l'utilisateur

Dans QUERY, vous pouvez créer et supprimer des jointures si l'administrateur vous accorde les autorisations nécessaires. Outre la création de jointure sur des tables normales, vous pouvez effectuer des jointures sur des tables de types cluster, réserve et sur des vues. Vous pouvez également réaliser une jointure sur la table elle-même.

L'administrateur doit octroyer les autorisations pour toutes les jointures. Pour plus d'informations, voir Options Admin.

Procédure de création d'une jointure entre deux tables :

Tous les téléchargements depuis les tables jointes sont effectués par une jointure interne ; tous les enregistrements correspondants sont téléchargés.

Important : si vous utilisez plusieurs tables, il faut les joindre. S'il n'y a pas de jointures entre les tables sur lesquelles vous exécutez la requête, la requête n'aura pas lieu.

Procédure de création de jointure dans une table :

  1. Double-cliquez deux fois sur la table pour ajouter la table et son alias dans la zone du générateur de requêtes. Par exemple, si la table est MARA, son alias sera MARA1.
  2. Pour créer la jointure, faites glisser un champ de la table ou de l'alias vers l'alias ou la table.

Tous les téléchargements depuis les tables jointes sont effectués par une jointure interne ; tous les enregistrements correspondants sont téléchargés.

Jointures externes gauches

Vous pouvez créer des jointures externes gauches dans le générateur QUERY. Avec les jointures externes de gauche, les données sont retournées d'une table, même si la seconde table ne contient pas d'enregistrements correspondants. N'oubliez pas que les jointures externes peuvent nuire aux performances.

Reconnaissance des jointures externes gauches dans Winshuttle QUERY

Les jointures externes gauches dans QUERY sont reconnaissables par la ligne fléchée qui pointe vers la table de gauche.

Si deux tables sont ajoutées avec des jointures externes gauches, la flèche de jointure n'apparaît pas. Cependant, cela n'affecte pas la fonction de la jointure.

Procédure de conversion en jointures externes gauches :

  1. Dans le générateur QUERY, cliquez à droite sur la ligne de jointure entre deux tables.
  2. Dans le menu contextuel, cliquez sur Conversion en jointure gauche externe.

    Un message d'avertissement s'affiche et signale que la conversion en jointure externe gauche peut nuire aux performances.

Procédure de suppression ou de conversion d'une jointure externe :

  1. Cliquez à droite sur la jointure externe gauche.
  2. Dans le menu contextuel, cliquez sur Supprimer ou cliquez sur Convertir en jointure INTERNE.

Conditions de création de jointures externes gauches

Procédure de suppression d'une jointure :

Jointures discordantes

Winshuttle Query autorise des jointures entre des champs indexés et non indexés, ainsi qu'entre des champs de différentes longueurs de caractère. Mais le type de données, le matériau, le numéro, l'unité d'organisation, etc. doivent être identiques. Les jointures entre autres champs discordants peuvent être autorisées, mais aucune donnée ne peut être extraite. Dans ces circonstances, Query affiche un avertissement signalant qu'aucune donnée ne peut être téléchargée par la jointure.

La possibilité d'effectuer des jointures sur des tables et champs discordants peut être désactivée ou activée pour votre organisation par l'administrateur Winshuttle. Pour plus d'informations, voir Options administrateur.

Jointure avec des requêtes InfoSets et SAP

Vous ne pouvez utiliser qu'une seule requête infoset/SAP à la fois dans la zone du générateur de requêtes. Le générateur ne prendra pas en charge l'ajout de plus d'une requête infoset/SAP avec tables.

Aussi dans cette section

Sources de données

Lancement d'une requête

Tables et dictionnaire de données Winshuttle

Ajouts d'éléments et recherche d'éléments dans le générateur de requêtes

Sélection de champs

Enregistrement d'une requête

Enregistrement des codes de transaction