... und um noch einen drauf zusetzen!

Wenn eine logische Datei in einem SQL-Statement angegeben wird, ist noch lange nicht gesagt, dass diese logische Datei auch verwendet wird.

Vielmehr wird vom Query Optimizer das DDS der logischen Datei analysiert, die Feldauswahlen, die Join-Anweisungen und Select/Omit-Anweisungen aus dem DDS entnommen. Anschließend wird das SQL-Statement mit diesen Informationen basierend auf den physischen Dateien neu geschrieben. Erst dann beginnt die eigentliche Optimierung. Zu diesem Zeitpunkt ist aber aus dem SQL-Statement nicht mehr ersichtlich, dass ursprünglich eine logische Datei angegeben war.

Eventuell wird bei dem angegebenen SQL-Statement sogar die physische Datei direkt verarbeitet und nicht die angegebene logische!

Dass SQL bei der Verwendung der logischen Datei ein anderes Ergebnis liefert, lässt, wie Baldur bereits vermutet hat, darauf schließen, dass durch SELECT/OMIT-Anweisungen Sätze ausgeschlossen werden.

Birgitta