Datensätze filtern, zu denen kein relationaler Datensatz existiert

Artikel KBAD001209

Betrifft:
address manager 16-18, cRM 5-9
Kategorie:
Extrakt
Überarbeitet:
02.07.2013

Hin und wieder kann es hilfreich sein zu wissen, zu welchem Datensatz es keinen relationalen Datensatz gibt. Konkret könnte das bspw. die Anforderung sein, alle Firmendatensätze zu filtern, zu denen noch keine Korrespondenz (keine Kontakteinträge) stattgefunden hat.

Anbei finden Sie einen beispielhaften Filterausdruck - basierend auf der mitgelieferten Beispielsolution - um alle Firmendatensätze zu filtern, zu denen noch keine Kontakte existieren:

SELECT "Companies"."ID"
FROM "Companies"
WHERE NOT EXISTS(SELECT "CompanyID" FROM "Contacts" WHERE "Contacts"."CompanyID" =
"Companies"."ID") 

Dieser Filter muss unter "Organisation > Filter / Extrakt > Freie SQL-Abfrage" der Firmenansicht ausgeführt werden.
Bei Bedarf können Sie sich diesen Filterausdruck auch abspeichern und auch anderen Benutzern zur Verfügung stellen. Zusätzlich kann über einen Button in der Eingabemaske (Eingabemaskendesigner: Schaltflächen > Organisation > Filter / Extrakt > Filterausdruck ausführen) der gespeicherte Filter ausgewählt und ausgeführt werden.
Dieser Ausdruck wurde mit PostgreSQL 8.4 und Microsoft SQL Server 2008 getestet.

Tipp:
Durch Weglassen des NOT Operators im Filterausdruck können Sie die Firmen abfragen, zu denen es bereits Kontakte gibt.


Hinweis: combit macht keine Angaben zu einer bestimmten Eignung obiger Informationen. Irrtümer und Fehler bleiben ausdrücklich vorbehalten, die Angaben erfolgen ohne Gewähr. Die Angaben stellen nur Beschreibungen dar und enthalten keine Garantie der Beschaffenheit der Produkte. Die Informationen können z.T. auch ein Versuch sein, Ihnen bei einer Aufgabenstellung zu helfen, selbst wenn das Produkt eigentlich nicht für diesen speziellen Zweck vorgesehen wurde.

+49 (0) 7531 90 60 10