Das (+) in Oracle meint nen OUTER JOIN, du machst aber INNER JOINs (das Schlüsselwort INNER ist optional, d. h. INNER JOIN ist equivalent zu JOIN (ohne irgendwas davor), es sei denn Access verhält sich dahingehen abweichen von Standard, was ich aber diesbzgl. nicht glaube)!
Folgende Oracle-Query
Code:
SELECT a.x,
b.y
FROM a,
b
WHERE a.z = b.z(+);
ist also equivalent zur folgenden Standard-Query
Code:
SELECT a.x,
b.y
FROM a
LEFT OUTER JOIN b
ON a.z = b.z;
.
Also ohne den Query sonst im Detail angesehn zu haben, es kann passieren, dass deine Lösung andere Ergebnisse liefert als der ursprüngliche Query, bei gleichen Daten, versteht sich.
Lesezeichen