![]() |
Datenbank: Interbase • Version: 4.5 • Zugriff über: BDE
SQL-Join um nicht zugeordnete Elemente zu finden
Hi,
ich habe 2 Tabellen und benötige eine Abfrage, die mir alle Datensätze in Tabelle a ausgibt die nicht in Tabelle b sind und die mir alle Datensätze aus Tabelle b ausgibt die nicht in Tabelle a sind. (über Primärschlüssel) Folgender Join zeigt mir alle Datensätze aus beiden Tabellen. Datensätze die nicht zugeordnet sind erkennt man daran, daß eines der beiden Felder leer bleibt.
SQL-Code:
Ich möchte als Ergebnismenge gern die Datensätze erhalten, bei denen ein Feld leer ist. Daher habe ich folgende Anweisung probiert
SELECT a.Id AS A, b.Id AS B
FROM TabelleA a FULL OUTER JOIN TabelleB b ON b.Id = a.Id
SQL-Code:
Leider gibt diese Anweisung nicht das gewünschte Ergebnis zurück. Hier bekomme ich alle Datensätze aus a und die entsprechenden Felder aus b sind leer und daran angehangen alle Datenstätze aus b und die entsprechenden Felder aus a sind leer.
SELECT a.Id AS A, b.Id AS B
FROM TabelleA a FULL OUTER JOIN TabelleB b ON b.Id = a.Id WHERE a.Id IS NULL OR b.Id IS NULL Ich hoffe ihr versteht mein Problem. thx - VizeTE |
Re: SQL-Join um nicht zugeordnete Elemente zu finden
SQL-Code:
SELECT * FROM TabelleA
WHERE NOT EXISTS(SELECT TabelleB.Id FROM TabelleB WHERE TabelleB.Id=TabelleA.Id) |
Re: SQL-Join um nicht zugeordnete Elemente zu finden
Evtl. so (ohne Test):
SQL-Code:
SELECT a.id as missing from a left outer join b on a.id = b.id where b.id is null
UNION SELECT b.id as missing from b left outer join a on b.id = a.id where a.id is null |
Re: SQL-Join um nicht zugeordnete Elemente zu finden
Zitat:
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:52 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz