У меня есть таблица с 10 столбцами, первые 3 столбца используются как идентификаторы, а остальные 7 столбцов содержат числа.
Итак, структура моей таблицы выглядит так:
| ID1 | ID2 | ID3 | Data1 | Data2 | Data3 | Data4 | Data5 | Data6 | Data7 |
Теперь мне нужно получить имя столбца (Data1 - Data7) столбца, который имеет наибольшее значение для конкретной строки.
Таким образом, данные в таблице могут выглядеть так:
| A | B | C | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| A | B | D | 5 | 8 | 9 | 3 | 51 | 11 | 4 |
| D | A | F | 31 | 5 | 9 | 11 | 23 | 2 | 9 |
Желаемый результат для этого ввода будет:
| A | B | C | Data7 |
| A | B | D | Data5 |
| D | A | F | Data1 |
Я пробовал это с помощью запроса unpivot, и я могу получить таблицу, которая показывает данные ( 7, 51 и 23 ) в последнем столбце, но я не могу добавить к этому имена столбцов из-за предложения group by, которое на ID1, ID2 и ID3. Добавление поля сводки к этому предложению group by приводит к отображению всех данных без сводки.