Ich versuche, alle Datensätze aus einer Tabelle abzurufen, die nicht bereits in einer anderen Tabelle sind. Ich will wissen, ob sie in der anderen Tabelle vorhanden ist, basierend auf der Age
SpalteAuswahl von Zeilen aus einer Tabelle, die nicht in einer anderen Tabelle mit h2 sind
Person
+------------+------------+------------+
| ID | Name | Age |
+============+============+============+
| 1 | John | 21 |
+------------+------------+------------+
| 2 | Jane | 24 |
+------------+------------+------------+
Person_Backup
+------------+------------+------------+
| ID | Name | Age |
+============+============+============+
| 1 | John | 22 |
+------------+------------+------------+
| 2 | Jane | 24 |
+------------+------------+------------+
In diesem Beispiel sollte die Abfrage reagiert nur mit Person_Backup
. 1 John 22
SELECT
"Person_Backup"."Name",
"Person_Backup"."Age"
FROM "Person_Backup"
INNER JOIN "Person" ON "Person"."Name" = "Person_Backup."Name"
WHERE ("Person"."Age" != "Person_Backup"."Age")
Im Moment wird dies Rückkehr einen Datensatz aus Person_Backup und alle Datensätze aus Person. Ich möchte nur die Aufzeichnungen von Person_Backup obwohl. Außerdem habe ich versucht, GROUP BY
zu verwenden, aber es führte zu anderen Problemen außerhalb des Umfangs, so dass ich es vorziehen würde, diesen Weg nicht zu nehmen.
Ich vermute, es gibt einen einfacheren Weg, vielleicht eine völlig andere Abfrage. Alles, was ich will, ist, alle Spalten aus Person_Backup, die nicht in Person mit Age
als Differenzierer auswählen.