Nada de lo que hemos comentado hasta ahora de usar SQL QUERY en vez de Data Extension filtradas tendría sentido, si no quisieras sacarle el máximo partido uniendo tablas. En Marketing Cloud puedes unir tus Data Extensions con otras a través de relaciones. Además, tienes las DataViews (información muy interesante para hacer segmentaciones) e incluso nuevas tablas que genera Einstein.
En próximos artículos veremos el tema de DataViews, porque te permiten cosas como mandar un correo a los que abrieron un email previo o mandarlo incluso a los que no lo abrieron, entre muchas otras opciones.
Ahora nos vamos a centrar en hacer queries entre varias tablas, lo que llamamos JOINS. En este caso, nos basaremos en 2 tablas, pero esto se puede complicar todo lo que se quiera con más tablas e incluso con diferentes tipos de JOIN.
Para explicarlo, lo mejor es usar diagramas de Venn como hacíamos en el colegio, así lo entenderéis mejor. En este caso, vamos a ver las 7 principales JOIN’s que se usan. Hay alguna más, pero son inusuales.
Para este ejemplo, vamos a usar 2 tablas, usuario y compra. De la tabla usuario, sacaremos el nombre, de la tabla compra: categoría, fecha y cuantía. Ambas tablas están relacionadas con el campo id_usuario.
TIPO 1: Left Outer Join
En esta primera opción queremos todos los datos de la tabla usuario, y todos aquellos que tengan relación en la tabla de compras. Es decir, todos los usuarios, hayan comprado o no.
SELECT A.name, B.categoria, B.fecha, B.cuantia
FROM usuario A
LEFT JOIN usuario_compra B
ON A.id_usuario = B.id_usuario
TIPO 2: Left Outer Join with Exclusions
Con esta JOIN lo que sacamos es todos los usuarios, salvo los que coinciden con compra. En decir, estaríamos sacando todos los usuarios que NO han comprado. Útil, ¿verdad?. La SQL sería:
SELECT A.name, B.categoria,B.fecha,B.cuantia
FROM usuario A
LEFT JOIN usuario_compra B
ON A.id_usuario = B.id_usuario
WHERE
B.id_usuario IS NULL
Y el resultado el de esta tabla…
TIPO 3: Right Outer Join
En esta opción queremos todos los datos de la tabla compras y todos aquellos que tengan relación en la tabla de usuarios. En teoría, esta debería coincidir en su totalidad, pero en este caso hemos forzado a que no sea así como si alguna compra no se relacionara con ningún usuario (a veces se hace para unidades dadas por perdidas, etc.):
SELECT A.name, B.categoria,B.fecha,B.cuantia
FROM usuario A
RIGHT JOIN usuario_compra B
ON A.id_usuario = B.id_usuario
TIPO 4: Right Outer Join with exclusions
Con este tipo, sacaríamos todas las compras «huérfanas”.
SELECT A.name, B.categoria,B.fecha,B.cuantia
FROM usuario A
RIGHT JOIN usuario_compra B
ON A.id_usuario = B.id_usuario
WHERE
A.id_usuario IS NULL
TIPO 5: Inner Join
Este tipo casi diríamos que es la clásica, es la pura intersección de conjuntos y saca solo los coincidentes entre ambas tablas.
SELECT A.name, B.categoria,B.fecha,B.cuantia
FROM usuario A
INNER JOIN usuario_compra B
ON A.id_usuario = B.id_usuario
TIPO 6: Full Outer Join
Con full Outer join, como indica la palabra FULL sacaríamos todo, usuarios coincidan o no con compras, compras aunque no coincidan con usuarios y la intersección de ambos.
SELECT A.name, B.categoria,B.fecha,B.cuantia
FROM usuario A
FULL OUTER JOIN usuario_compra B
ON A.id_usuario = B.id_usuario
TIPO 7: Outer Join
En este último caso sacaríamos las que hemos dicho que eran las compras «huérfanas” y los usuarios que no han comprado.
SELECT A.name, B.categoria,B.fecha,B.cuantia
FROM usuario A
FULL OUTER JOIN usuario_compra B
ON A.id_usuario = B.id_usuario
WHERE
A.id_usuario IS NULL
OR
B.id_usuario IS NULL
Conclusión:
Si quieres sacar el máximo partido a Marketing Cloud y a la estrategia de email marketing, que es finalmente el objetivo, lo esencial es saber segmentar correctamente nuestras audiencias. Para hacer estas segmentaciones de forma correcta es importante poder combinar varias tablas. Es aquí donde entran en juego los JOIN, algo que tendrás que dominar para poder sacar el máximo partido a tus segmentaciones a través de SQL QUERY.
Si te ha gustado este artículo, también podrían interesarte:
- Filtered Data Extension en Marketing Cloud y aspectos a tener en cuenta
- Cómo usar personalizaciones sencillas en Marketing Cloud