Ich möchte eine Liste der customer_ids mit den oberen fünf Adressen anzeigen, die als Spalten neben ihnen basierend auf der Anzahl von Claims_count angezeigt werden. Ist es möglich mit PIVOT?Oracle SQL-Prioritäts-basierte Pivot
CREATE TABLE pivot_test (
customer_id NUMBER,
claims_count NUMBER,
address VARCHAR2(5)
);
INSERT INTO pivot_test VALUES (1,23,'A');
INSERT INTO pivot_test VALUES (1,2,'B');
INSERT INTO pivot_test VALUES (1,43,'C');
INSERT INTO pivot_test VALUES (1,0,'D');
INSERT INTO pivot_test VALUES (1,34,'E');
INSERT INTO pivot_test VALUES (1,23,'F');
INSERT INTO pivot_test VALUES (2,6,'A');
INSERT INTO pivot_test VALUES (2,3,'B');
INSERT INTO pivot_test VALUES (2,67,'C');
COMMIT;
das gewünschte Ergebnis wäre so etwas wie:
customer_id Address1 Address2 Address3 Address4 Address5
1 C E A F B
2 C A B
Was ist die "Priorität" in Ihrem Titel? Auch bei den Adressen, wie entscheidest du, was Adresse1 ist und welche Adresse 2 usw. (oder kann es zufällig sein? Oder bezieht es sich auf die "Priorität", die du vergessen hast zu diskutieren?) Und wie werden die Werte 'A ',' B 'von Ihrer Eingabe werden Kleinbuchstaben' a 'und' b 'in der Ausgabe? – mathguy
Danke, dass du das ausrufst, ich werde daran arbeiten, die Frage zu aktualisieren. – mjanach