Saltar al contenido

¡Transforma tus conexiones en dinero para el final del año con nuestro nuevo Programa de Indicación de Clientes! Descubre más

Esta documentación es para la versión 4 y posteriores de App Builder, el nuevo nombre de Vinyl. Accede a la documentación de Vinyl aquí.

Cómo crear y usar uniones SQL en Jitterbit App Builder

Al crear objetos de negocio en la capa de lógica de negocio, a menudo es necesario dibujar en dos tablas independientes para mostrar los datos de ambas. Con App Builder, puede configurar un tipo de Join para combinar columnas de una o más tablas u objetos de negocio y crear un nuevo objeto de negocio. Este artículo le guiará por los cuatro tipos de uniones SQL compatibles con App Builder (Inner, Left Outer, Cross y Right Outer) y le ofrecerá ejemplos de cómo crearlas y usarlas. Además, analizaremos otro tipo de relación llamada Union, que se puede configurar en la sección "Uniones" de App Builder.

  • Inner - El tipo de unión interna devuelve filas que existen en cada tabla
  • Cruz - La unión cruzada produce un producto cartesiano
  • Unión externa izquierda: una unión externa izquierda devuelve todas las filas de la tabla izquierda especificada, independientemente de una coincidencia en la tabla derecha
  • Exterior derecho - Un exterior derecho devuelve todas las filas de la tabla derecha especificada, independientemente de una coincidencia en la tabla izquierda
  • Unión - Combina el conjunto de resultados de dos o más declaraciones SELECT

Unión interna

¿qué es una unión interna?

Las uniones internas son las más utilizadas. Al proporcionar dos tablas, el conjunto de resultados de una unión interna contiene solo las filas entre las dos tablas que son iguales, según las columnas de la unión.

Diagrama interno

Ejemplo

Supongamos que queremos un objeto de negocio de clientes que han realizado un pedido y los detalles del mismo. Este sería un excelente caso de uso para una unión interna, ya que esta puede devolver registros en la intersección de dos tablas. El conjunto resultante debería incluir todos los datos. CustomerID que tiene un OrderID A continuación se muestran las dos tablas. Customer y Order A la que nos uniremos.

Customertable

Una tabla de pedidos

Antes de crear su unión interna, necesita crear un objeto de negocio. El nuestro se llama Customer (with Order) Incorpore las dos tablas al panel Tablas. Implemente la unión interna entre ellas. Customer y Order La columna Unirse aquí es CustomerID que es la única columna entre las dos que es igual.

join1.png

Puñal de columna interna

Innerjoininstab

El conjunto de resultados debe incluir a los clientes que han realizado pedidos. En este caso, nuestros datos generaron una sola fila:

Innerresults

Unión cruzada

¿qué es una unión cruzada?

Una Unión Cruzada produce un conjunto de resultados que corresponde al número de filas x de la primera tabla multiplicado por el número de filas y de la segunda tabla. El conjunto de resultados será x * y filas.

Para determinar qué tiene sentido con una Unión Cruzada, conviene decir que el conjunto resultante tendrá columnas de la tabla 1 por cada columna de la tabla 2.

Diagrama cruzado

Ejemplo

Tenemos dos mesas, Category y Supplier Sabemos que cada Supplier Me gustaría que cada uno Category, por lo que necesitamos crear un objeto de negocio que combine estas dos tablas. Queremos un conjunto resultante que tenga una Category para cada Supplier este es un ejemplo perfecto de cuándo usar una unión cruzada.

A continuación se muestran ejemplos de registros para las tablas. Category y Supplier:

Categoría de registros

Registros de un proveedor

Para realizar la unión cruzada de estas dos tablas, necesitamos crear un nuevo objeto de negocio. Lo llamamos Supplier (and Categories) en el panel Tablas, seleccione las dos tablas que desea unir. En el panel Uniones, indique que desea una unión cruzada entre ambas tablas.

join2.png

Columnas cruzadas

Una unión cruzada

Nota

No necesitamos indicar las columnas de unión porque, con la unión cruzada, las dos tablas no necesitan tener columnas en común para unirse. Aun así, podemos obtener una Category para cada Supplier Después de desplegar esta unión, veremos resultados como este. Observe que hay un Category para cada Supplier:

Resultados cruzados

Unión externa izquierda

¿qué es una unión externa izquierda?

Una unión externa izquierda recupera todas las filas coincidentes de dos tablas (la interna entre ellas) y las filas que no coinciden con ninguna de la segunda tabla. Esto es útil cuando se desean todos los resultados comunes entre dos tablas, pero también se desean los valores nulos en la tabla izquierda.

Un diagrama externo izquierdo

Ejemplo

Quizás desee una lista de todos los clientes, independientemente de si realizaron un pedido. En este caso, una unión externa izquierda sería ideal. Este ejemplo es similar al anterior de unión interna, excepto que en este caso también queremos ver resultados donde hay una CustomerID listado sin una OrderID A continuación se muestran las tablas que utilizamos: Customer y Order Son las mismas tablas que usamos para el ejemplo de una unión interna.

Customertable

Una tabla de pedidos

Esta declaración de objeto de negocio es muy similar a la del ejemplo de unión interna. La única diferencia radica en el nombre y en que esta unión se declara como externa izquierda en lugar de interna.

join3.png

Puñal de columna interna

A lo se une

Los resultados son los mismos que los de la unión interna, más las filas en el Customer tabla que no coincide con ninguna fila en la Order Tabla.

Hay 92 resultados esta vez.

Muchos resultados

Externo derecho

¿qué es una unión externa derecha?

La tercera unión es una Unión Externa Derecha, que es justo lo opuesto a una Unión Externa Izquierda. Usar una u otra no suele ser relevante, ya que siempre se puede cambiar una tabla del lado izquierdo al derecho de la unión y se consigue el mismo efecto. Los resultados variarán según la unión elegida y el orden de las tablas añadidas al panel Uniones.

Diagrama de ro

Ejemplo

Como ejemplo de cambio de una Unión Externa Izquierda a una Unión Externa Derecha, puede que quiera ver todos sus clientes, con o sin pedidos, así como todos los detalles de los pedidos, con o sin pedidos o productos. La siguiente declaración es una forma de configurar esta lógica.

join4.png

Columnas A ro

A ro se une

Al ejecutar los resultados o ver la cuadrícula rápida, se muestran los siguientes registros:

Resultados de A ro

Unión

¿qué es un sindicato?

En App Builder, las uniones de unión generan una combinación de dos sentencias SELECT que apuntan a la misma columna. Una unión de unión combina los resultados de dos columnas diferentes (con el mismo nombre) de dos tablas distintas en una sola columna unificada. Si bien la mayoría de las uniones utilizan una columna de unión, la unión de unión no. Esto se debe a que otras uniones requieren contexto compartido entre las dos tablas para funcionar, mientras que una unión de unión solo requiere columnas compartidas.

Ejemplo 1

Por ejemplo, una unión interna entre Product y Supplier Las tablas mostrarían cada producto junto con su proveedor, mientras que una unión entre los Product y Supplier Las tablas le mostrarán una lista de todos los diferentes SupplierID campos. Esto se debe a que la unión muestra esencialmente todos los resultados de la misma columna en dos tablas diferentes, y estas dos tablas solo comparten los SupplierID Recuerde que, con las uniones, compartir contexto y tener la misma columna son dos criterios diferentes.

A continuación se muestran las tablas Proveedor y Producto.

Resultados de un proveedor

Resultados de un producto

Ahora puede crear su objeto de negocio que usará la unión. Nosotros lo llamamos Supplier (Union with Product) Incorpore las tablas que usará en el panel Tablas. Declare una unión entre las dos tablas en el panel Uniones. Esta unión no requiere la columna "Unir". El panel Columnas solo permite agregar SupplierID como columna porque es la única que las dos tablas tienen en común.

join5.png

Columnas de unión

Un sindicato se une

El conjunto de resultados contiene todos los SupplierID's, incluidos los registros duplicados si el SupplierID Aparece en ambas tablas.

Resulta una unión

Ejemplo 2

Otro caso de uso para una Unión es si un cliente le pide que encuentre a todos los encuestados, pero los usuarios pueden responder de varias maneras. Supongamos que un usuario puede responder por correo, que se introduce en una tabla llamada EmailRespondants, pero también pueden responder mediante una llamada telefónica utilizando el PhoneRespondant tabla. Podrías unir las tablas para encontrar las columnas que tienen en común, que podrían ser RespondantID y RespondType Para recibir una lista de todas las personas que respondieron y cómo lo hicieron. De esta manera, también puedes ver lo mismo. RespondantID Varias veces, pero poder ver cómo respondieron cada vez.