Ich versuche, eine Liste der Abteilung IDs in einer Tabelle (PS_Y_FORM_HIRE
), aber die nicht in einer anderen Tabelle (PS_DEPARTMENT_VW
). HierWie wähle ich alle IDs, die in einer Tabelle vorhanden sind, aber nicht in einem anderen
sind die Grundlagen das, was ich habe, das nicht funktioniert:
SELECT h.DEPTID FROM PS_Y_FORM_HIRE h, PS_DEPARTMENT_VW d WHERE NOT EXISTS (
SELECT d1.DEPTID FROM PS_DEPARTMENT_VW d1 WHERE d1.DEPTID = h.DEPTID
and d1.SETID_GL_DEPT = 'IDBYU'
);
Ich versuche, diese Abfrage in SQL Developer zu bilden, aber es gibt nur eine lange Liste von Rohlingen (nach dem Spinnen/die Abfrage für eine sehr lange Zeit ausführen).
Darüber hinaus brauche ich dies effektiv datiert, so dass es nur die richtige effektive datierte Zeile ergreift, aber ich war mir nicht sicher, wie und wo dies in die Abfrage zu integrieren.
EDIT ich vernachlässigt zu erwähnen, dass nur die Abteilungstabelle wirksam datiert ist. Der Formularverleihtisch ist nicht. Ich muss die aktuelle Zeile aus dieser Abfrage erhalten (um sicherzustellen, dass die Daten korrekt sind).
Beachten Sie auch, dass DEPTID
kein Schlüssel auf PS_Y_FORM_HIRE
ist, aber auf PS_DEPARTMENT_VW
. (Zusammen mit SETID_GL_DEPT
und EFFDT
).
Also wieder, idealerweise, ich werde eine Liste aller Abteilung IDs, die in PS_Y_FORM_HIRE
erscheinen, aber die nicht in PS_DEPARTMENT_VW
sind.
Das Konzept helfen Sie suchen heißt "anti join" – FuzzyTree