У меня есть Oracle 11g таблица которым имеет уникальный идентификатор и несколько столбцов с числовыми значениями, это выглядит следующим образом:Выберите наибольшее значение из нескольких столбцов в одном наборе ORACLE
ID COL1 COL2 COL3 ... COLn
1 0 15 20 12
2 4 0 10 0
3 20 0 3 8
мне нужно знать, для каждая строка, столбец, содержащий наивысшее значение, а также имя столбца. В этом примере, например, если выбрать ID = 1, то результат должен быть:
COL3
____
20
Я пытался использовать НАИБОЛЬШУЮ функцию, но она просто возвращает значение, но не имя столбца. Другой способ сделать это - использовать оператор CASE, но в этой таблице содержится более 300 столбцов, и сравнение «один за другим» будет ужасным. Я слышал об использовании функции PIVOT, но я точно не знаю, как ее применять. Любое предложение очень ценится!
Что имя столбца должно отображаться для выборки данных? Самое первое значение первой строки - 'col3', значение третьей строки -' col1'. В ваших данных образца отображается только один результат строки. Какое имя столбца должно использоваться для нескольких строк? –