Jeg har ikke en SQL server, men jeg har prøvet under postgreSQL og med de få kunder/varer jeg gad indtaste, ser det ud til at virke (hvis jeg har forstået din forklaring, altså
):
SELECT
k.kundenr,
k.kundegruppe,
v.varenr,
x.kundevarenr,
v.varetekst,
p.pris
FROM
kunder k
JOIN xref x ON x.kundenr = k.kundenr OR x.kundegruppe=k.kundegruppe
JOIN varer v ON x.varenr = v.varenr
JOIN pris p ON v.varenr=p.varenr AND ((k.kundenr = p.kundenr) OR (k.kundegruppe = p.kundegruppe AND NOT EXISTS (SELECT 1 FROM pris p2 WHERE p2.kundenr = k.kundenr)) OR (p.kundenr IS NULL AND p.kundegruppe IS NULL))