Commande JOIN

Combine des champs de deux tables Analytics dans une nouvelle table Analytics unique.

Remarque

Pour utiliser les correspondances approximatives afin de joindre des tables, consultez la rubrique Commande FUZZYJOIN.

Syntaxe

JOIN {PKEY champs_clés_principaux|PKEY ALL} {FIELDS champs_principaux|FIELDS ALL} {SKEY champs_clés_secondaires|SKEY ALL} <WITH champs_secondaires|WITH ALL> {aucun_mot_clé|MANY|UNMATCHED|PRIMARY|SECONDARY|PRIMARY SECONDARY} <IF test> TO nom_table <LOCAL> <OPEN> <WHILE test> <FIRST plage|NEXT plage> <APPEND> <PRESORT> <SECSORT> <ISOLOCALE code_paramètres_régionaux>

Paramètres

Nom Description
PKEY champs_clés_principaux | PKEY ALL

Le ou les champs clés, ou expression clé, dans la table principale.

  • champs_clés_principaux utilisez le(s) champ(s) spécifié(s)
  • ALL utilisez tous les champs dans la table
FIELDS champs_principaux | FIELDS ALL

Les champs ou expressions de la table principale à inclure dans la table de sortie jointe.

  • champs_principaux incluez le(s) champ(s) spécifié(s)
  • ALL incluez tous les champs de la table

Remarque

Vous devez indiquer de manière explicite le(s) champ(s) clé(s) principal(aux) si vous voulez les intégrer dans la table jointe. Le fait d'indiquer ALL permet aussi de les inclure.

SKEY champs_clés_secondaires | SKEY ALL

Le ou les champs clés, ou l'expression clé, dans la table secondaire.

  • champs_clés_secondaires utilisez le(s) champ(s) spécifié(s)
  • ALL utilisez tous les champs dans la table

WITH champs_secondaires | WITH ALL

optionnel

Les champs ou expressions de la table secondaire à inclure dans la table de sortie jointe.

  • champs_secondaires incluez le(s) champ(s) spécifié(s)
  • ALL incluez tous les champs de la table

Remarque

Vous devez indiquer de manière explicite le(s) champ(s) clé(s) secondaire(s) si vous voulez les intégrer dans la table jointe. Le fait d'indiquer ALL permet aussi de les inclure.

Vous ne pouvez pas indiquer WITH si vous utilisez le type de jointure UNMATCHED.

aucun_mot_clé | MANY | UNMATCHED | PRIMARY | SECONDARY | PRIMARY SECONDARY

Type de jointure à effectuer.

aucun_mot_clé (omettez tous les mots-clés du type de jointure)

La table de sortie jointe contient : Option correspondante dans la boîte de dialogue Joindre
  • tous les enregistrements primaires correspondants et le premier enregistrement secondaire correspondant

Primaires et secondaires correspondants

(1re correspondance secondaire)

MANY

La table de sortie jointe contient : Option correspondante dans la boîte de dialogue Joindre
  • tous les enregistrements primaires et secondaires correspondants
  • un enregistrement pour chaque correspondance entre la table principale et les tables secondaires

Primaires et secondaires correspondants

(toutes les correspondances secondaires)

UNMATCHED

La table de sortie jointe contient : Option correspondante dans la boîte de dialogue Joindre
  • enregistrements primaires non correspondants

Primaires non correspondants

 

PRIMARY

La table de sortie jointe contient : Option correspondante dans la boîte de dialogue Joindre
  • tous les enregistrements primaires (correspondants et non correspondants) et le premier enregistrement secondaire correspondant

Tous les primaires et tous les secondaires correspondants

Remarque

Le mot-clé BOTH revient à spécifier PRIMARY.

SECONDARY

La table de sortie jointe contient : Option correspondante dans la boîte de dialogue Joindre
  • tous les enregistrements secondaires (correspondants et non correspondants) et tous les enregistrements primaires correspondants

    Seule la première instance des correspondances secondaires en doublon est jointe à un enregistrement primaire.

Tous les secondaires et tous les primaires correspondants

PRIMARY SECONDARY

La table de sortie jointe contient : Option correspondante dans la boîte de dialogue Joindre
  • tous les enregistrements primaires et secondaires, correspondants et non correspondants

    Seule la première instance des correspondances secondaires en doublon est jointe à un enregistrement primaire.

Tous les primaires et secondaires

IF test

optionnel

Expression conditionnelle qui doit être vraie afin de traiter chaque enregistrement. La commande est exécutée uniquement sur les enregistrements remplissant la condition.

Remarque

La condition IF est évaluée uniquement par rapport aux enregistrements restant dans une table après application des options relevant du champ d'application (WHILE, FIRST, NEXT).

Remarque

Pour la plupart des types de jointure, la condition IF ne s'applique que dans la table principale.

La seule exception est une jointure ACL de type plusieurs-à-plusieurs, dans laquelle la condition IF peut aussi faire référence à la table secondaire.

TO nom_table

Emplacement vers lequel envoyer les résultats de la commande :

  • nom_table enregistre les résultats dans une table Analytics

    Indiquez nom_table sous forme de chaîne entre guillemets avec une extension de fichier .FIL. Par exemple : TO "Sortie.FIL"

    Par défaut, le fichier de données de table (.FIL) est enregistré dans le dossier contenant le projet Analytics.

    Utilisez un chemin de fichier absolu ou relatif pour enregistrer le fichier de données dans un autre dossier existant :

    • TO "C:\Sortie.FIL"
    • TO "Résultats\Sortie.FIL"

    Remarque

    La longueur des noms des tables est limitée à 64 caractères alphanumériques, sans l'extension .FIL. Le nom peut inclure le caractère de soulignement ( _ ), mais aucun autre caractère spécial ni espace. Le nom ne peut pas commencer par un chiffre.

LOCAL

optionnel

Enregistre le fichier de sortie au même emplacement que le projet Analytics.

Remarque

Applicable uniquement lorsque vous exécutez la commande sur une table de serveur avec un fichier de sortie qui est une table Analytics.

OPEN

optionnel

Ouvre la table créée par la commande après l'exécution de la commande. Valide uniquement lorsque la commande crée une table de sortie.

WHILE test

optionnel

Expression conditionnelle qui doit être vraie afin de traiter chaque enregistrement. La commande est exécutée jusqu'à ce que la condition soit évaluée comme fausse ou lorsque la fin de la table est atteinte.

Remarque

Si vous utilisez WHILE conjointement avec FIRST ou NEXT, le traitement des enregistrements s'arrête dès qu'une limite est atteinte.

FIRST plage | NEXT plage

optionnel

Le nombre d'enregistrements à traiter :

  • FIRST pour commencer le traitement à partir du premier enregistrement jusqu'à ce que le nombre d'enregistrements spécifié soit atteint
  • NEXT pour commencer le traitement à partir de l'enregistrement actuellement sélectionné jusqu'à ce que le nombre d'enregistrements spécifié soit atteint

Utilisez plage pour indiquer le nombre d'enregistrements à traiter.

Si vous ignorez FIRST et NEXT, tous les enregistrements sont traités par défaut.

APPEND

optionnel

Ajoute la sortie de commande à la fin d'un fichier existant au lieu de remplacer ce fichier.

Remarque

Vous devez vous assurer que la structure de la sortie de la commande et du fichier existant est identique :

  • les mêmes champs
  • le même ordre des champs
  • les champs correspondants ont la même longueur
  • les champs correspondants ont le même type de données

Analytics ajoute la sortie à un fichier existant sans tenir compte de sa structure, ce qui peut désordonner les données si la structure de la sortie et du fichier existant ne correspond pas.

PRESORT

optionnel

Trie la table principale par le champ clé primaire avant d'exécuter la commande.

Remarque

Vous ne pouvez pas utiliser PRESORT dans la commande GROUP.

Indexation au lieu du tri

La table primaire peut être indexée plutôt que triée. Avec les grandes tables, indexer plutôt que trier peut permettre de diminuer la durée requise pour joindre les tables.

Si vous joignez deux tables à l'aide d'un champ clé commun indexé, ignorez PRESORT et SECSORT.

SECSORT

optionnel

Trie la table secondaire par le champ clé secondaire avant d'exécuter la commande.

Remarque

Vous ne pouvez pas utiliser SECSORT dans la commande GROUP.

Indexation au lieu du tri

La table secondaire peut être indexée plutôt que triée. Avec les grandes tables, indexer plutôt que trier peut permettre de diminuer la durée requise pour joindre les tables.

Si vous joignez deux tables à l'aide d'un champ clé commun indexé, ignorez PRESORT et SECSORT.

ISOLOCALE code_paramètres_régionaux

optionnel

Remarque

Applicable dans l'édition Unicode d'Analytics uniquement.

Paramètre système local au format langue_pays. Par exemple, pour utiliser le français canadien, saisissez fr_ca.

Utilisez les codes suivants :

  • langue code linguistique de la norme ISO 639
  • pays code pays de la norme ISO 3166

    Si vous n'indiquez pas de code pays, c'est le pays par défaut pour la langue qui est utilisé.

Si vous n'utilisez pas ISOLOCALE, ce sont les paramètres système régionaux par défaut qui sont utilisés.

Exemples

Joindre deux tables pour détecter les employés susceptibles d'être aussi des fournisseurs

L'exemple ci-dessous joint les tables Empmast et Fournisseur en utilisant l'adresse comme champ clé commun (champs Adresse et Rue_Fournisseur).

La commande JOIN crée une nouvelle table avec les enregistrements primaires et secondaires correspondants, ce qui génère la liste des employés et des fournisseurs ayant la même adresse.

OPEN Empmast PRIMARY
OPEN Fournisseur SECONDARY
JOIN PKEY Adresse FIELDS Empno Premier Dernier Adresse SKEY Rue_Fournisseur WITH No_Fournisseur Nom_Fournisseur Rue_Fournisseur "Correspondance_employé_fournisseur" OPEN PRESORT SECSORT

Cette version de la commande JOIN inclut tous les champs des tables principale et secondaires dans la table de sortie jointe.

OPEN Empmast PRIMARY
OPEN Fournisseur SECONDARY
JOIN PKEY Adresse FIELDS ALL SKEY Rue_Fournisseur WITH ALL TO "Correspondance_employé_fournisseur" OPEN PRESORT SECSORT

Joindre deux tables pour découvrir des enregistrements de créances clients sans client qui correspond

Dans l'exemple ci-dessous, les tables Ar et Client sont jointes en utilisant le numéro de client (NumClient) comme champ clé commun.

La commande JOIN utilise le type de jointure UNMATCHED pour créer une table d'enregistrements primaires non correspondants, qui renvoie une liste d'enregistrements Ar qui ne sont associés à aucun enregistrement Client.

OPEN Ar PRIMARY
OPEN Client SECONDARY
JOIN PKEY NumClient FIELDS NumClient Echéance Montant SKEY NumClient UNMATCHED TO "ClientIntrouvable.fil" OPEN PRESORT SECSORT

Remarques

Remarque

Pour plus d'informations sur le fonctionnement de cette commande, consultez le Aide d'Analytics.

Guide de création de scripts ACL 14.1