Forum: Datenbanken
Delphi
by Codehunter,
21. Dez 2018
In der Tat wundere ich mich öfters wie schnell einem hier geholfen wird. Manchmal verbunden mit dem schlechten Gewissen, mehr zu bekommen als man zurückgeben kann. Aber hilft einem ja auch schon das nachlesen in solchen Diskussionen, sodass es später trotzdem für andere hilfreich sein kann.
Dazu müsste man wohl das Template von Blau auf Rot umstellen und einen Sound abspielen der "Ho Ho...
Forum: Datenbanken
Delphi
by Codehunter,
21. Dez 2018
Hatte ich auch schon probiert, kommt letztlich aber das Gegenteil von dem heraus was rauskommen soll: Alle Datensätze aus Tabelle a wo der Wert in a.feld1 nicht in der Ergebnismenge von AndereProzedur() vorkommt. Bei einem Join (mit oder ohne Left) kommen aber genau die Datensätze, die nicht kommen sollen.
EDIT: Ich hänge heute irgendwie hinterher. Ihr wart immer schneller mit antworten :-)...
Forum: Datenbanken
Delphi
by Codehunter,
21. Dez 2018
Funktioniert leider nicht so wie gedacht. Denn dann würden nur diejenigen Datensätze zurückgegeben, wo a.feld1 = NULL ist. Entpricht also funktional nichtMan beachte das NOT: ... WHERE **NOT** A.FELD1 IN (SELECT DISTINCT ...Ohne das ginge das mit einem Join aber so fällt mir da spontan keine Lösung ein.
Forum: Datenbanken
Delphi
by Codehunter,
21. Dez 2018
Interessante Idee. Auf einen Join wäre ich in dem Zusammenhang nicht gekommen. Ich vermute mal "p2.id" war hier ein Irrtum und "b.id" gemeint?
Forum: Datenbanken
Delphi
by Codehunter,
20. Dez 2018
Kannst du mal ein kurzes Beispiel geben? Geht das auch mit einer Ergebnismengen-RecordCount > 1?
Forum: Datenbanken
Delphi
by Codehunter,
20. Dez 2018
Hallo!
Ich habe folgenden StoredProc-Body:
SELECT * FROM A WHERE NOT A.FELD1 IN (SELECT DISTINCT ´ID´ FROM AndereProzedur(IrgendeinParameter));
Ich frage mich jetzt, wie Firebird den Ablauf realisiert. Wird für jede einzelne Zeile in Tabelle A das SELECT DISTINCT... ausgeführt? Oder wird zuerst einmalig das Ergebnis aus AndereProzedur() geholt und dann immer gegen dieses Ergebnis...