Danke, DeddyH, das war ein sehr hilfreicher Hinweis.
Ich habe das erst einmal so eingebaut:
SQL-Code:
SELECT ORTE2.Name, ORTE2.Alort,
p1.PLZ,
p1.Plz_Art,
p1.Str-Verz
FROM ORTE2, PLZ p1
WHERE (p1.Alort = ORTE2.Alort)
AND (p1.Plz = (SELECT MIN(PLZ) FROM PLZ p2 WHERE p2.Alort = p1.Alort))
Das Ergebnis sieht recht gut aus, aber so stimmt es vermutlich noch nicht: Im Ergebnis erhalte ich nur 41.000 Datensätze, aber nach meiner Schätzung dürfte von den 95.000 Einträgen in ORTE2 nur ein kleiner Teil herausfallen. Das werde ich morgen weiter untersuchen und mich dann wieder melden.
Danach muss die Abfrage noch optimiert werden (ist nicht auch dabei ein JOIN möglich?), auch wegen der Feststellungen des Analyse-Plans.
Schönes Wochenende erstmal! Jürgen