683 Aufrufe
Gefragt in Datenbanken von
Hallo Forum,

ich bitte um Euren Expertenrat zu folgendem Problem: ich habe zwei
Tabellen "t1" und "t2", die über das Feld "v_nr" mit einander
verbunden sind. Ich möchte nun alle die Datensätze selektieren, die
in "t1.erled" kein Datum stehen haben (also "Ist Null") und bei der
ALLE Detaildatensätze in "t2.abgeschl" ein Datum stehen haben.

Im folgenden Beispiel: die "v_nr" 100 soll NICHT selektiert werden,
weil nicht alle Detaildatensätze in "t2.abgeschl" ein Datum stehen
haben. Die "v_nr" 200 und 300 sollen selektiert werden, weil dort
jeweils in allen "t2.abgeschl" ein Datum steht (bei 200 eben nur
einer, bei 300 in allen dreien).

"t1.v_nr" "t1.erled" "t2.v_nr" "t2.abgeschl"
100 100 06.08.2015
100 100 06.08.2015
100 100
100 100
200 200 05.10.2015
300 300 16.07.2015
300 300 22.09.2015
300 300 16.07.2015



Mein Problem ist, dem SQL "zu sagen" -> guck in allen "t2.abgeschl"
zu einer "v_nr", ob dort überall ein Datum drinne steht (also Ist Nicht
Null).

Könnt ihr mir bitte auf die Sprünge helfen?

Danke schön im Voraus!

2 Antworten

0 Punkte
Beantwortet von repiv Mitglied (272 Punkte)
Hallo,

leide hast du nicht geschrieben um welche Datenbank es sich handelt.
Im SQL Server von Microsoft könnte man das z.B. so schreiben:



SELECT *
FROM t1
INNER JOIN t2 ON t1.v_nr = t2.v_nr
WHERE t1.erled IS NULL
AND NOT EXISTS (
SELECT v_nr
FROM t2 T2Temp
WHERE t2temp.v_nr = t2.v_nr
AND T2Temp.abgeschl IS NULL
)
0 Punkte
Beantwortet von
Hallo eltoro,

schau Dir Kriterien verknüpfen in einem Feld und in mehreren Feldern an (einzugeben in der Entwurfsansicht der Abfrage).
Für eine Beispieldatenbank fehlt mir leider die Zeit, außerdem verstehe ich die Frage (Problemstellung) nicht wirklich.

Gruß
Paul1
...