Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Porównanie kombinacji rodzic-dziecko z 2 różnych tabel w SQL Server

Odpowiedz zgodnie z komentarzami do pytania. Wypróbowałem to na bazie danych SQLite, a ponieważ składnia może być nieprawidłowa w porównaniu do SQLServer, mogę tylko udzielić wskazówek. Nie mam linku do bazy danych.

Znajdowanie podstaw:

  1. Znajdź mat_no, parę dzieci w mat_rel, gdzie rodzic JEST NULL
  2. Znajdź wszystkie wiersze w mat_rel, które pasują do mat_no i gdzie rodzic pasuje do dziecka z 1. Dodaj SQL z 1. w JOIN jak (SELECT ..).

Znajdowanie niezgodności (porównywanie child=child i mat_no=mat_no):

  1. Znajdź wszystkie wiersze od 2, gdzie nie ma pasującego wiersza w mat_item. Użyj LEFT JOIN lub NIE ISTNIEJE
  2. Znajdź wszystkie wiersze w mat_item, w których nie ma pasującego wiersza w mat_rel z 2. Użyj PRAWEGO POŁĄCZENIA lub NIE ISTNIEJE.

Znajdowanie zarówno 3, jak i 4:

  1. Użyj obu SQL z UNION ALL



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL Server 2005 Uzyskaj pierwszą i ostatnią datę z dowolnego miesiąca w dowolnym roku

  2. Nie można wykonać procedury składowanej SQL Server

  3. Połączenie JDBC nie powiodło się, błąd:połączenie TCP/IP z hostem nie powiodło się

  4. Przestawić wyniki procedury składowanej?

  5. Jak podzielić ciąg w SQL Server