sql >> Base de Datos >  >> RDS >> Sqlserver

Comparación de la combinación padre-hijo de 2 tablas diferentes en SQL Server

Responda según los comentarios sobre la pregunta. Lo probé en una base de datos SQLite, y dado que la sintaxis puede estar mal en comparación con SQLServer, solo puedo darle instrucciones. No tengo un enlace a una base de datos.

Encontrar lo básico:

  1. Encuentre el par mat_no, hijo en mat_rel donde el padre ES NULL
  2. Encuentre todas las filas en mat_rel que coincidan con mat_no y donde el padre coincida con el hijo de 1. Agregue el SQL de 1. en un JOIN como (SELECCIONAR ..).

Encontrar discrepancias (comparar child=child y mat_no=mat_no):

  1. Encuentre todas las filas desde la 2, donde no hay ninguna fila coincidente en mat_item. Use LEFT JOIN o NO EXISTE
  2. Encuentre todas las filas en mat_item donde no hay una fila coincidente en mat_rel desde 2. Use RIGHT JOIN o NOT EXISTS.

Encontrar 3 y 4:

  1. Utilice ambos SQL con UNION ALL