Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Comparando a combinação pai-filho de 2 tabelas diferentes no SQL Server


Responda de acordo com os comentários da pergunta. Eu tentei em um banco de dados SQLite e, como a sintaxe pode estar desativada em comparação com o SQLServer, só posso fornecer instruções. Eu não tenho um link para um banco de dados.

Encontrando o básico:
  1. Encontre o mat_no, par filho em mat_rel onde pai É NULO
  2. Encontre todas as linhas em mat_rel que correspondam a mat_no e onde pai corresponda ao filho de 1. Adicione o SQL de 1. em um JOIN como (SELECT ..).

Encontrando incompatibilidade (comparando child=child e mat_no=mat_no):
  1. Encontre todas as linhas de 2, onde não há linha correspondente em mat_item. Use LEFT JOIN ou NOT EXISTS
  2. Encontre todas as linhas em mat_item onde não há linha correspondente em mat_rel de 2. Use um RIGHT JOIN ou NOT EXISTS.

Encontrando 3 e 4:
  1. Use ambos os SQLs com UNION ALL