Вы можете использовать одно предложение ON следующим образом:
ON
(
A.customer_country = lane.dest_country_code
AND
COALESCE(SUBSTRING(A.ddm_zip, 1, LENGTH( lane.dest_postal_code_prefix )), '') = CASE
WHEN lane.dest_postal_code_prefix IS NOT NULL THEN lane.dest_postal_code_prefix
ELSE COALESCE(SUBSTRING(A.ddm_zip, 1, LENGTH( lane.dest_postal_code_prefix )), '')
END
)
Во 2-м случае (остальная часть) условие всегда выполняется, потому что оно:
COALESCE(SUBSTRING(A.ddm_zip, 1, LENGTH( lane.dest_postal_code_prefix )), '') = COALESCE(SUBSTRING(A.ddm_zip, 1, LENGTH( lane.dest_postal_code_prefix )), '')
так что единственное фактическое условие -
A.customer_country = lane.dest_country_code