У меня есть таблица ниже
Code Data
SL Payroll 1
GV Payroll 3
Global Payroll 1
TimeHCM 1
SL Payroll 0
GV Payroll 0
Global Payroll 0
TimeHCM 0
SL Payroll 0
GV Payroll 0
Global Payroll 0
TimeHCM 0
Я использую функцию поворота, чтобы сгладить данные
Select *
From (
Select [Code]
,[Data]
,[Col] = concat('Data',Row_Number() over (Partition By [Code] Order by 1/0))
From #BidStatusCalculation
) src
Pivot (max([Data]) for [Col] in ([Data1],[Data2],[Data3],[Data4],[Data5],[Data6],[Data7],[Data8],[Data9],[Data10],[Data11],[Data12])) pvt
, и я получаю результат ниже
Code Month1 Month2 Month3
GV Payroll 0 0 **3**
Проблема в том, что данные транспонируются снизу вверх, то есть они берут первую найденную запись и делают ее последней, и я хотел, чтобы она была такой, как показано ниже
Code Month1 Month2 Month3
GV Payroll **3** 0 0
Какое изменение я долженсделать запрос?
Обновление Я добавил столбец SortOrder, как было предложено, и таблица теперь показана ниже.
Code Data SortOrder
SL Payroll 1 1
GV Payroll 3 2
Global Payroll 1 3
TimeHCM 1 4
SL Payroll 0 1
GV Payroll 0 2
Global Payroll 0 3
TimeHCM 0 4
SL Payroll 0 ....
GV Payroll 0
Global Payroll 0
TimeHCM 0