Datensätze finden, zu denen es keinen relational verknüpften Datensatz gibt?

Hallo zusammen,

ich wickle im cRM6 unter anderem den kompletten Versand per DPD und per Spedition ab. Bei der Spedition erfolgt die komplette Berechnung der Routung im cRM. Hierzu bekomme ich täglich aktuelle Tabellen mit den Routungs-Wegen, welche in dafür angelegte Tabellen im cRM kopiert werden.

Ich habe außerdem über eine Hilfstabelle eine n:m-Beziehung zwischen Routungen und Adressen erstellt und alle Depots im Adress-Stamm angelegt. So kann ich über die Depot-Nummer in der Routungstabelle auf die Adresse des Depots gelangen.

Leider kommen in unregelmäßigen Abständern neue Depots hinzu, ohne dass ich darüber informiert werde. Dann gibt es einfach mal neue Depot-Nummern in der Routungs-Tabelle für die ich noch keinen Eintrag in der Adress-Tabelle (und der Hilfstabelle für die Beziehung) habe. Die Routung funktioniert, nur kann ich nicht nachschauen, wer das ausliefernde Depot war.

Kennt jemand eine Möglichkeit, in einer Ansicht im cRM auf Datensätze zu filtern, zu denen es keinen 1:1-verknüpften DS in einer bestimmten anderen Ansicht gibt? Dann könnte ich mich morgens in der Info-Zentrale informieren lassen, wenn es in der Routungs-Tabelle Einträge mit unbekannten Depots gibt.

Unter MS-SQL würde ich folgendes schreiben:

SELECT Primärschlüssel FROM Tabelle1 T1 WHERE NOT EXISTS (SELECT 1 FROM Tabelle2 T2 WHERE T2.Fremdschlüssel = T1.Primärschlüssel )

Ich hab eigentlich keine Lust, nur für diese Prüfung extra ein SQL-View zu erstellen (auch wenn ich dann auch gleich ein DISTINCT in die Abfrage einbauen könnte)…

Hi Nico,

wie wäre es mit der freien SQL Abfrage? (steht auch für Scripte zur Verfügung)

Gruß

Alex

Hallo Alexander,

danke für den Tipp. Ich hab mir meine Scripte für die Erstellung der Routung nochmal vorgenommen:

In der Routung gibt es eine sog. Sperr-Tabelle. Bei der prüfe ich mit Hilfe von „WHERE NOT EXISTS“ in einem ganz normalen „SetFilter“-Aufruf bereits, ob meine gewählte Routung in der Sperr-Tabelle nicht vorkommt! Selbst die Tatsache, dass die Routungstabelle keinen PK enthält, stört da nicht.

Manchmal sieht man den Wald vor lauter Bäumen nicht…

Jetzt muss ich nur noch per Script alle unterschiedlichen Depot-Nummern herausfinden und auflisten, um quasi ein DISTINCT-Ergebnis zu erhalten. Derzeit sind es nur 7 unbekannte Depots, aber 1045 Routungen, in denen sie vorkommen. Da sollte ich besser mal filtern…