Folgende ist meine Tabelle in SQL ServerTop 3 Ränge in 3 verschiedenen Spalten in SQL Server
ID NAME SALARY
10 A 10
10 B 5
10 C 20
10 D 20
11 E 40
11 F 40
11 G 30
11 H 50
12 I 50
12 J 35
Mein Ziel jeder Partition entspricht, sechs weitere Spalten hinzufügen FIRST_VALUE, SECOND_VALUE THIRD_VALUE first_rank, second_rank, third_rank entsprechend jeder ID. Die Ausgabe sollte wie folgt aussehen wie folgt:
ID NAME SALARY R1 R2 R3 R1_name R2_name R3_name
10 A 10 5 10 20 B A C
10 B 5 5 10 20 B A C
10 C 20 5 10 20 B A C
10 D 20 5 10 20 B A C
11 E 40 30 40 40 G E F
11 F 40 30 40 40 G E F
11 G 30 30 40 40 G E F
11 H 50 30 40 40 G E F
12 I 50 35 50 NULL J I NULL
12 J 35 35 50 NULL J I NULL
Es folgt der Einsatz Abfrage:
CREATE TABLE EMP(ID NVARCHAR(10), NAME NVARCHAR(20), SALARY MONEY)
INSERT INTO EMP
VALUES
(10, 'A', 10),(11, 'E',40),(10,'B',5),(11,'F',40),(12,'I',50)
,(10,'C',20),(11,'G',30),(12,'J',35),(10,'D',20),(11,'H',50)
Vielen Dank im Voraus.
ich dich nicht denken sollte hart Code t Diese Werte werden in Ihre Tabelle übernommen (denn wenn sich die Werte zu irgendeinem Zeitpunkt ändern, müssen Sie die gesamte Tabelle anpassen). Es ist auch eine technische Replikation von Daten, die Sie vermeiden sollten. Stattdessen sollten Sie eine Ansicht erstellen. – ZLK