Die Schlüssel der Join Dateien sind gleich definiert.
Die Kleinste Datei steht auch vorne (KRT001 und KRTHST sind gleich aufgebaut, das eine sind die aktuellen das andere die historischen Daten)
Die Zuordnung KKHBCH und TRFBCH sind jeweils eindeutig, beide Felder sind gleich (8 A) definiert.

Das SQL alle berücksichtigt war mir auch klar, was ich meinte war:
Er verwendet den Zugriffspfad nicht im SQL (will heissen er baut sich einen neuen auf)


Rince
anbei das SQL, (wenns hilft)

SELECT
B.TRFSCN, B.TRFSDT, A.KKHVCN, A.KKHPAL, A.KKHSTS,
B.TRFRCN, B.TRFRDT,
DECIMAL(SUM(C.KRTREC), 7, 0)
FROM KRTKOMH A INNER JOIN TRFHDR B ON A.KKHBCH = B.TRFBCH
INNER JOIN KRT001 C ON A.KKHPAL = C.KRTKPL
WHERE
C.KRTSTY = :STYLE
AND C.KRTCOL = :COLOUR
AND C.KRTSIZ = :SIZE
GROUP BY
B.TRFSCN, B.TRFSDT, A.KKHVCN, A.KKHPAL, A.KKHSTS,
B.TRFRCN, B.TRFRDT
UNION
SELECT
B.TRFSCN, B.TRFSDT, A.KKHVCN, A.KKHPAL, A.KKHSTS,
B.TRFRCN, B.TRFRDT,
DECIMAL(SUM(C.KRTREC), 7, 0)
FROM KRTKOMH A INNER JOIN TRFHDR B ON A.KKHBCH = B.TRFBCH
INNER JOIN KRTHST C ON A.KKHPAL = C.KRTKPL
WHERE
C.KRTSTY = :STYLE
AND C.KRTCOL = :COLOUR
AND C.KRTSIZ = :SIZE
GROUP BY
B.TRFSCN, B.TRFSDT, A.KKHVCN, A.KKHPAL, A.KKHSTS,
B.TRFRCN, B.TRFRDT
ORDER BY KKHPAL DESC, KKHVCN