¿Cómo realizar Anti-Joins?Hola a todos,
un cliente me preguntó acerca de anti-uniones. Una unión anti izquierda, para ser más precisos:
"A unión izquierda anti : esta combinación devuelve filas en la tabla de la izquierda que no tienen filas coincidentes en la tabla de la derecha".
( https://mode.com/blog/anti-join-examples/ )
No pude entender cómo hacer esto en la interfaz (ni JOIN ni Query Builder).
¿Podría alguien por favor iluminarme? 
Gracias,
florián
Re: ¿Cómo realizar Anti-Joins?Hola Florián,
¿Comparar tablas de datos daría la funcionalidad que busca su usuario?
Malcolm
Re: ¿Cómo realizar Anti-Joins?Esto podría hacerse en un proceso de dos pasos. Elija una unión externa completa (incluya las no coincidencias tanto en la tabla principal como en la tabla "con"), pero asegúrese de marcar la casilla de verificación "Bandera de coincidencia". La columna Indicador de coincidencia que se crea se puede usar para decirle de qué tabla provienen los datos. Las filas con solo "Principal" son las filas anti-unión que están buscando.
Re: ¿Cómo realizar Anti-Joins?Hola,
Para mí, es un proceso de 2 pasos. Realice la unión (incluidas las no coincidencias de la tabla principal) y luego seleccione las filas donde falta/vacía un valor de la tabla "con". Estas filas seleccionadas deben ser las filas donde no hay coincidencias en la tabla principal.
Esto parece coincidir con la solución en la publicación del blog mencionada.
Re: ¿Cómo realizar Anti-Joins?¡Gracias a todos! Creo que este es el camino a seguir. @Dan_Obermiller @Ryan_Gilmore . También gran sugerencia @malcolm_moore1 , ni siquiera pensó en esto, ¡pero también podría ser valioso!
Mejor
florián
Re: ¿Cómo realizar Anti-Joins?Esto puede ser un poco complicado, pero podría hacer una consulta SQL personalizada como:
SELECT *
FROM "jmptable " t1
WHERE t1.IDcolumn NOT IN (SELECT t2.IDcolumn FROM "jmptable2" t2);
Donde jmptable es el nombre de la primera tabla, jmptable2 es el nombre de la segunda tabla, IDcolumn es la clave para la primera y la segunda tabla.
Podría usar JMP Query Builder debajo de las tablas. Seleccione las dos tablas, use la combinación externa izquierda estándar en las dos tablas y luego haga clic en generar consulta. Después de eso, vaya al triángulo rojo y elija convertir a SQL personalizado y use el código anterior.
O podría escribir el JSL directamente.
Creo que esta es una buena lista para admitir más tipos de uniones en las plataformas Query Builder y Join.
Re: ¿Cómo realizar Anti-Joins?Hola Florián,
Usando JMP Query Builder, realiza una combinación izquierda con t1 y t2. donde t1.id = t2.id y use la cláusula where en t2.id es nula.
Esta consulta devolverá solo valores en la tabla 1 (t1) pero no en la tabla 2 (t2).
salud,
Stan
Anti-Join with JMP Query BuilderAnti-Join with JMP Query BuilderAnti-Join con JMP Query Builder
SELECT t1.id, t1.t1_value
FROM "untitled 1201" t1
LEFT OUTER JOIN "untitled 1202" t2
ON ( t1.id = t2.id )
WHERE ( ( ( t2.id IS NULL ) ) ) ;