Champ de jointure (Gestion des données)
Récapitulatif
Joint le contenu d'une table à une autre table en fonction d'un champ attributaire commun. La table en entrée est mise à jour pour contenir les champs de la table de jointure. Vous pouvez sélectionner quels champs de la table de jointure seront ajoutés à la table en entrée.
Les enregistrements de la Table en entrée sont appariés aux enregistrements de la Table de jointure en fonction des valeurs du Champ de jointure en entrée et du Champ de jointure en sortie. Il est également possible de ne sélectionner que les champs souhaités dans la Table de jointure et de les attacher à la Table en entrée pendant la jointure.
Illustration
Utilisation
-
La Table en entrée peut être une classe d'entités (incluant un fichier de formes) ou une table.
-
Tous les champs de la Table en entrée seront gardés pendant la jointure. Vous pouvez également n'ajouter à la sortie que les champs sélectionnés de la Table de jointure. Ceux-ci peuvent être sélectionnés sous le paramètre Champ de jointure.
-
Les enregistrements de la Table de jointure peuvent être appariés à un ou plusieurs enregistrements de la Table en entrée. Pour plus d'informations sur les jointures un-à-un, plusieurs-à-un, un-à-plusieurs et plusieurs-à-plusieurs, consultez la rubrique A propos de la jointure et de la mise en relation des tables
-
Si aucun champ n'est sélectionné pour le paramètre facultatif Champ de jointure, tous les champs de la Table de jointure à la sortie seront joints.
-
Les jointures peuvent être basées sur des champs de types texte, date ou nombre.
-
Les jointures basées sur des champs de texte respectent la casse.
-
Les champs de formats de nombre différent peuvent être joints tant que les valeurs sont égales. Par exemple, un champ de type réel simple peut être joint à un champ de nombre entier court.
-
Le Champ de jointure en entrée et le Champ de jointure en sortie peuvent avoir des noms différents.
-
Si un champ de jointure a le même nom qu'un champ de la table en entrée, il est ajouté au champ joint le suffixe _1 (ou _2 ou _3, etc.) pour le rendre unique.
-
Si les valeurs du Champ de jointure en sortie ne sont pas uniques, seule la première occurrence de chaque valeur est utilisée.
- Pour prendre en compte les valeurs de table de jointure autres que la première occurrence, commencez par exécuter l'outil Résumés statistiques en utilisant la Table de jointure comme en entrée. Résumés statistiques vous permet de récapituler les champs (par exemple, addition, moyenne, minimum).
- Pour fusionner deux champs ou plus dans la table de jointure avant la jointure, commencez par exporter la table ou la classe d'entités à l'aide de l'outil Table vers table puis réalisez la fusion à l'aide de l'appariement des champs de l'outil.
- Pour prendre en compte les valeurs de table de jointure autres que la première occurrence, commencez par exécuter l'outil Résumés statistiques en utilisant la Table de jointure comme en entrée. Résumés statistiques vous permet de récapituler les champs (par exemple, addition, moyenne, minimum).
Syntaxe
Paramètre | Explication | Type de données |
in_data |
Table ou classe d'entités à laquelle la table de jointure sera jointe. | Mosaic Layer; Raster Catalog Layer; Raster Layer; Table View |
in_field |
Champ de la table en entrée sur lequel la jointure sera basée. | Field |
join_table |
Table à joindre à la table en entrée. | Mosaic Layer; Raster Catalog Layer; Raster Layer; Table View |
join_field |
Champ dans la table de jointure qui contient les valeurs sur lesquelles sera basée la jointure. | Field |
fields [fields,...] (Facultatif) |
Champs de la table de jointure à inclure dans la jointure. | Field |
Exemple de code
Le script de fenêtre Python ci-dessous illustre l'utilisation de la fonction JoinField en mode immédiat.
import arcpy
from arcpy import env
env.workspace = "C:/data/data.gdb"
arcpy.JoinField_management("zion_park", "zonecode", "zion_zoning", "zonecode", ["land_use","land_cover"])
Ce script Python autonome illustre l'utilisation de la fonction JoinField pour joindre une table à une classe d'entités en n'incluant que deux des champs de la table dans la jointure.
# PermanentJoin.py
# Purpose: Join two fields from a table to a feature class
# Import system modules
import arcpy
from arcpy import env
# Set the current workspace
env.workspace = "c:/data/data.gdb"
# Set the local parameters
inFeatures = "zion_park"
joinField = "zonecode"
joinTable = "zion_zoning"
fieldList = ["land_use", "land_cover"]
# Join two feature classes by the zonecode field and only carry
# over the land use and land cover fields
arcpy.JoinField_management (inFeatures, joinField, joinTable, joinField, fieldList)