Comando JOIN
Combina campos de dos tablas de Analytics en una nueva tabla única de Analytics.
Nota
Si desea usar la correspondencia inexacta al unir tablas, consulte Comando FUZZYJOIN.
Sintaxis
JOIN {PKEY campos_clave_primarios|PKEY ALL} {FIELDS campos_primarios|FIELDS ALL} {SKEY campos_clave_secundarios|SKEY ALL} <WITH campos_secundarios|WITH ALL> {sin_palabra_clave|MANY|UNMATCHED|PRIMARY|SECONDARY|PRIMARY SECONDARY} <IF prueba> TO nombre_tabla <LOCAL> <OPEN> <WHILE prueba> <FIRST rango|NEXT rango> <APPEND> <PRESORT> <SECSORT> <ISOLOCALE código_lugar>
Parámetros
Nombre | Descripción | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
PKEY campos_clave_primarios | PKEY ALL |
El o lo campos clave, o una expresión, de la tabla primaria.
|
||||||||||||||||||||||||
FIELDS campos_primarios | FIELDS ALL |
Los campos o expresiones de la tabla primaria que deben incluirse en la tabla de salida unida.
Nota Debe especificar explícitamente los campos clave primarios o secundarios si desea incluirlos en la tabla unida. Si especifica ALL, también se los incluye. |
||||||||||||||||||||||||
SKEY campos_clave_secundarios | SKEY ALL |
El o los campos clave, o una expresión, de la tabla secundaria.
|
||||||||||||||||||||||||
WITH campos_secundarios | WITH ALL opcional |
Los campos o expresiones de la tabla secundaria que deben incluirse en la tabla de salida unida.
Nota Debe especificar explícitamente los campos clave primarios o secundarios si desea incluirlos en la tabla unida. Si especifica ALL, también se los incluye. No puede especificar WITH si está usando el tipo de unión UNMATCHED. |
||||||||||||||||||||||||
sin_palabra_clave | MANY | UNMATCHED | PRIMARY |SECONDARY | PRIMARY SECONDARY |
El tipo de unión que se debe realizar. sin_palabra_clave (omitir todas las palabras clave del tipo de unión)
MANY
UNMATCHED
PRIMARY
Nota La palabra clave BOTH equivale a especificar PRIMARY. SECONDARY
PRIMARY SECONDARY
|
||||||||||||||||||||||||
IF prueba opcional |
Una expresión condicional que debe ser verdadera para procesar cada registro. El comando se ejecuta únicamente en los registros que cumplen la condición. Nota El parámetro IF se evalúa únicamente con los registros que quedan en la tabla después de aplicar los parámetros de alcance (WHILE, FIRST, NEXT). Nota Para la mayoría de los tipos de combinaciones, una condición IF se aplica solo a la tabla primaria. La única excepción es una combinación de muchos a muchos, en la que la condición IF también puede hacer referencia a la tabla secundaria. |
||||||||||||||||||||||||
TO nombre_tabla |
El lugar al que se deben enviar los resultados del comando:
|
||||||||||||||||||||||||
LOCAL opcional |
Guarda el archivo de salida en la misma ubicación que el proyecto de Analytics. Nota Aplicable únicamente al ejecutar el comando en una tabla de servidor con un archivo de salida que es una tabla de Analytics. |
||||||||||||||||||||||||
OPEN opcional |
Abre la tabla creada por el comando después de la ejecución del comando. Solo es válido si el comando crea una tabla de salida. |
||||||||||||||||||||||||
WHILE prueba opcional |
Una expresión condicional que debe ser verdadera para procesar cada registro. El comando se ejecuta hasta que la condición se evalúa como falsa o hasta que se llega al final de la tabla. Nota Si usa WHILE junto con FIRST o NEXT, el procesamiento de registros se detiene al llegar a un límite. |
||||||||||||||||||||||||
FIRST rango | NEXT rango opcional |
La cantidad de registros que se procesarán:
Utilice intervalo para especificar la cantidad de registros que se deben procesar. Si omite FIRST y NEXT, se procesan todos los registros de forma predeterminada. |
||||||||||||||||||||||||
APPEND opcional |
Anexa la salida del comando al final de un archivo existente en lugar de sobrescribir el archivo. Nota Debe asegurarse de que la estructura de la salida del comando y del archivo existente sean idénticas:
Analytics anexa la salida a un archivo existente sin importar cuál sea su estructura. Si la estructura de la salida y la del archivo existente no coinciden, es posible que los datos que se obtengan estén incompletos, mezclados o sean imprecisos. |
||||||||||||||||||||||||
PRESORT opcional |
Ordena la tabla primaria por el campo primario antes de ejecutar el comando. Nota No puede utilizar PRESORT dentro del comando GROUP. Indexar en lugar de ordenarPuede indexar la tabla primaria en lugar de ordenarla. Con tablas extensas, la indexación en lugar del ordenamiento puede reducir el tiempo necesario para unir las tablas. Si está uniendo dos tablas con un campo clave común indexado, omita PRESORT y SECSORT. |
||||||||||||||||||||||||
SECSORT opcional |
Ordena la tabla secundaria por el campo clave secundario antes de ejecutar el comando. Nota No puede utilizar SECSORT dentro del comando GROUP. Indexar en lugar de ordenarPuede indexar la tabla secundaria en lugar de ordenarla. Con tablas extensas, la indexación en lugar del ordenamiento puede reducir el tiempo necesario para unir las tablas. Si está uniendo dos tablas con un campo clave común indexado, omita PRESORT y SECSORT. |
||||||||||||||||||||||||
ISOLOCALE código_lugar opcional |
Nota Aplicable únicamente en la edición Unicode de Analytics. El idioma (configuración regional) del sistema en el formato idioma_país. Por ejemplo, para francés de Canadá, ingrese el código fr_ca. Use los siguientes códigos:
Si no utiliza ISOLOCALE, se utiliza la configuración regional predeterminada del sistema. |
Ejemplos
Unir dos tablas como una manera de descubrir empleados que también pueden ser proveedores
El siguiente ejemplo une las tabla Empmast y Proveedor utilizando el domicilio como el campo clave común (los campos Domicilio y Calle_proveedor).
El comando JOIN crea una nueva tabla con los registros primarios y secundarios correspondientes, lo cual genera una lista de todos los empleados y proveedores que tienen el mismo domicilio.
OPEN Empmast PRIMARY OPEN Proveedor SECONDARY JOIN PKEY Domicilio FIELDS NúmEmp Nombre Apellido Domicilio SKEY Calle_proveedor WITH Núm_proveedor Calle_proveedor TO "Correspondencia_empleado_proveedor" OPEN PRESORT SECSORT
Esta versión del comando JOIN incluye todos los campos de las tablas primaria y secundaria en la tabla de salida unida.
OPEN Empmast PRIMARY OPEN Proveedor SECONDARY JOIN PKEY Domicilio FIELDS ALL SKEY Calle_proveedor WITH ALL TO "Correspondencia_empleado_proveedor" OPEN PRESORT SECSORT
Unir dos tablas es una manera de descubrir registros de cuentas por cobrar que no coinciden con ningún cliente
El siguiente ejemplo une las tablas Ar y Cliente utilizando el Número de cliente (NúmClien) como el campo clave común.
El comando JOIN utiliza el tipo de unión UNMATCHED para crear una nueva tabla con los registros primarios sin coincidencia, lo cual genera una lista de registros Ar que no están asociados con ningún registro de Cliente.
OPEN Ar PRIMARY OPEN Cliente SECONDARY JOIN PKEY NúmClien FIELDS NúmClien Vencimiento Monto SKEY NúmClien UNMATCHED TO "Clientenoencontrado.fil" OPEN PRESORT SECSORT
Observaciones
Nota
Si desea obtener más información sobre la forma en la que funciona este comando, consulte Guía de ayuda.