PDA

View Full Version : Hilfe zu SQL!



dabeda
21-11-11, 11:00
Hallo Forum!

Ich habe ein Verständnisproblem bei SQL.

Wenn ich 2 Tabellen mit "where exists" vergleiche, die die selben Felder beinhalten, jedoch nicht den selben Inhalt haben, dann bekomme ich ganz komische Ergebnisse.

z.B.
select * from kdstap where exists
( select * from kdstap# a where a.bib = bib and a.kd# = kd#)
Hier bekomme ich alle Sätze zurück, nicht nur die, die auch in kdstap# existieren.
Bei
select * from kdstap a where exists
( select * from kdstap# where a.bib = bib and a.kd# = kd#)
stimmt alles.

Das ist mir vorher noch nie aufgefallen.
Wir nutzen V7R1.

Kann es am Betriebssystem liegen oder kapier ich hier was nicht?? :confused:

Fuerchau
21-11-11, 11:11
select * from kdstap where exists
( select * from kdstap# a where a.bib = bib and a.kd# = kd#)

erklärt sich eigentlich von selber.
Durch den Bezug "a" auf die Tabelle innerhalb der Klammer hast du keinen Bezug zur Tabelle außerhalb der Klammer.
Die Where-Klausel innerhalb der Klammer bezieht sich auf sich selber und hat damit keinen Effekt.

Bei nicht geklammerten SQL's würde ja auch ein Fehler auf nicht eindeutige Namen kommen. So kann SQL alle Namen eindeutig der Tabelle innerhalb der Klammer zuordnen.

dabeda
21-11-11, 11:39
Ok, danke recht schön!:o