Um aus einer Tabelle mit Auftragspositionen diejenigen zu finden, die bei gleicher Auftragsnummer
einen unterschiedlichen Status auf Positionslevel haben, verwendet man eine analytische Funktion wie folgt:
SELECT *
FROM (
SELECT COUNT (DISTINCT status) OVER (PARTITION BY auf_nr) distinct_values,
ap.*
FROM ast_auf_pos ap
)
WHERE distinct_values > 1;
Dabei ist die Auftragsnummer der Oberbegriff und der Status der Auftragsposition zeigt unterschiedliche Werte.