sql >> Database teknologi >  >> RDS >> Sqlserver

Sammenligning af forældre-barn-kombination fra 2 forskellige tabeller i SQL Server

Svar i henhold til kommentarer til spørgsmålet. Jeg prøvede det på en SQLite-database, og da syntaksen kan være slået fra i forhold til SQLServer, kan jeg kun give dig anvisninger. Jeg har ikke et link til en database.

Sådan finder du det grundlæggende:

  1. Find mat_no, underordnet par i mat_rel, hvor forælder ER NULL
  2. Find alle rækker i mat_rel, der matcher mat_no, og hvor overordnet matcher barnet fra 1. Tilføj SQL fra 1. i et JOIN-like (SELECT ..).

Finder mismatch (sammenligning af child=child og mat_no=mat_no):

  1. Find alle rækker fra 2, hvor der ikke er nogen matchende række i mat_item. Brug en LEFT JOIN eller EKSISTERER IKKE
  2. Find alle rækker i mat_item, hvor der ikke er nogen matchende række i mat_rel fra 2. Brug en RIGHT JOIN eller IKKE FINDER.

Finder både 3 og 4:

  1. Brug begge SQL'er med UNION ALL



  1. Hvad er den bedste måde at opdatere et oprulningsbord under belastning?

  2. Dynamisk transponering for ukendt rækkeværdi til kolonnenavn på postgres

  3. Læs en kolonne fra en række fra en MySQL-database

  4. Lagring af UUID som streng i mysql ved hjælp af JPA