sql >> Database >  >> RDS >> Sqlserver

Bovenliggende en onderliggende combinatie van 2 verschillende tabellen vergelijken in SQL Server

Antwoord volgens opmerkingen over de vraag. Ik heb het uitgeprobeerd op een SQLite-database en aangezien de syntaxis misschien niet klopt in vergelijking met SQLServer, kan ik je alleen maar aanwijzingen geven. Ik heb geen link naar een database.

De basis vinden:

  1. Vind het mat_no, child-paar in mat_rel waar ouder IS NULL
  2. Zoek alle rijen in mat_rel die overeenkomen met mat_no en waar ouder overeenkomt met het kind van 1. Voeg de SQL van 1 toe in een JOIN-achtige (SELECT ..).

Mismatch vinden (vergelijk kind=kind en mat_no=mat_no):

  1. Zoek alle rijen van 2, waar er geen overeenkomende rij is in mat_item. Gebruik een LEFT JOIN of NOT EXISTS
  2. Zoek alle rijen in mat_item waar er geen overeenkomende rij is in mat_rel van 2. Gebruik een RIGHT JOIN of NOT EXISTS.

Zowel 3 als 4 vinden:

  1. Gebruik beide SQL's met UNION ALL



  1. PL SQL hoe alle kolommen te selecteren

  2. SELECT of INSERT een rij in één commando

  3. Krijg ik geen toegang tot mijn database die is gemaakt met Visual Studio?

  4. Een .SQL-scriptbestand uitvoeren met c#