Referencia: |
El comando JOIN le permite informar desde dos o más orígenes de datos relacionados con una sola solicitud. Los orígenes de datos unidos permanecen separados físicamente, pero se manejan como si fueran uno. Se pueden mantener hasta 1023 joins activas simultáneamente.
Cuando se combinan dos orígenes de datos, uno se denomina el archivo host; el otro, el archivo de referencia cruzada. Cada vez que se recupera un registro desde el archivo host, los campos correspondientes en el archivo de referencia cruzada se identifican si han sido mencionados en la solicitud de informe. Entonces se recuperan los registros en el archivo de referencia cruzada que contengan los valores correspondientes.
Se pueden unir dos orígenes de datos mediante una join condicional siempre y cuando pueda definir una expresión que determine cómo relacionar los registros en el archivo host con los registros en el archivo de referencia cruzada. Se pueden unir dos orígenes de datos mediante una equijoin siempre y cuando tengan campos en cada origen de datos con formatos (de caracteres, numérico o de fecha) y valores comunes. Los formatos comunes garantizan la interpretación apropiada de los valores. Por ejemplo, supongamos que necesite leer datos de dos orígenes de datos: uno llamado JOB, con información de trabajo y un segundo llamado SALARY, con información de salarios. Puede unir ambos orígenes de datos si cada uno tiene un campo que identifica al mismo grupo de empleados de la misma manera: por apellido, por número de serie o por número de identificación personal. La join se activa cuando se recuperan los valores comunes de los campos unidos; por ejemplo, números de identificación personal comunes.
Después de emitir el comando JOIN, puede emitir una sola solicitud TABLE, TABLEF, MATCH FILE o GRAPH para leer los orígenes de datos unidos. Sólo necesita especificar el primer origen de datos (es decir, el archivo host, para generar un informe desde dos o más orígenes de datos. Digamos, por ejemplo, que prepara un informe desde los orígenes de datos JOB y SALARY. Ejecute la siguiente equijoin:
JOIN EMP_ID IN JOB TO ALL EMP_ID IN SALARY
Este comando combina el campo EMP_ID en el archivo JOB con el campo EMP_ID en el archivo SALARY. JOB es el archivo host y SALARY es el archivo de referencia cruzada. Ejecute entonces esta solicitud de informe:
TABLE FILE JOB PRINT SALARY AND JOB_TITLE BY EMP_ID END
El primer registro recuperado es el registro de archivo JOB del empleado #071382660. Después, se recuperan todos los registros en el origen de datos SALARY que contengan al empleado #071382660. Este proceso continúa hasta que se encuentran leído todos los registros.
Puede basar su join en:
Puede aumentar la velocidad de recuperación en estructuras unidas mediante un índice externo. Sin embargo, el segmento de destino para el índice no puede ser un segmento de referencia cruzada. Para obtener información relacionada, consulte Cómo mejorar su procesamiento de informes.
WebFOCUS |