sql >> Base de Datos >  >> RDS >> Mysql

Cómo unir resultados de 2 tablas basadas en no condición

Puede utilizar la siguiente consulta:

SELECT id, name, partNumber, Aid, Aname, Apart
FROM TableB AS t
CROSS JOIN (SELECT id AS Aid, name AS Aname, partNumber AS Apart
            FROM TableA AS a
            WHERE NOT EXISTS (SELECT 1
                              FROM TableB AS b
                              WHERE b.partNumber = a.partNumber)) AS c
ORDER BY id    

La idea es seleccionar todos los registros requeridos de TableA usando un NOT EXISTS cláusula. Entonces CROSS JOIN la tabla derivada de esta consulta con Table1 para obtener todas las combinaciones posibles.

Demostración aquí