Ich habe eine Tabelle mit Struktur wie folgt:Erste Daten basierend auf Priorität
Spalte ‚Typ‘ hat drei Arten von Werten, die 1,2 und 3 ist
Jeder Typ hat bestimmte Regel (in der Spalte REGEL erwähnt) Die gleiche Regel kann mehreren Typeneinträgen zugeordnet werden. Jetzt möchte ich nur die Datensätze als Ausgabe, die einen höheren Wert hat. Zum Beispiel: "Bankentyp" ist eine Regel, die mit Typ 1,2 und 3 verknüpft ist. Daher wählen wir die Regel mit Wert mit Typ 3 aus, also Single. 'Komplexität' ist mit Typ 1 & 2, also werden wir die Regel Wert 5 wählen. Wenn eine Regel in nur einem Typ vorhanden ist, dann wird es wie es ist ausgewählt.
Ich habe versucht, folgende Abfrage aber es funktioniert mit Typ 1 & 2.
select *
FROM CX_ROSTER_RULES_VIEW v
INNER JOIN
(
select RULE, MAX("Type") AS MAX_TYPE
FROM CX_ROSTER_RULES_VIEW
GROUP BY RULE
) v1
ON v.RULE = v1.RULE
AND v."Type" = v1.MAX_TYPE
WHERE (branch = 'Civil' AND category = 'C.M. (Civil)' AND sub_category = 'Pauper')
OR (branch = 'Civil' AND category = 'C.M. (Civil)' AND sub_category IS NULL)
OR (branch = 'Civil' AND category IS NULL AND sub_category IS NULL)
Mögliche Duplikat [SQL Query spezifische Kinder Aufzeichnungen bekommen] (http://stackoverflow.com/questions/37571301/sql-query-to-get-specific-child-records) – MT0
Bitte nicht die gleiche Frage zweimal - Sie können Ihre bestehende Frage bearbeiten. – MT0
Es ist anders. Zurück ist von zwei Tabellen. Es ist aus einer einzigen Sicht. – Bill