Это пример таблицы:В Access, как мне отобразить имя идентификатора и столбца столбца с наибольшим значением в каждой строке?
Table1
| id | one | two | three | four | five | six |
|--------------------------------------------|
| 1| 11| 7| 4| 9| 4| 1|
| 2| 12| 9| 3| 8| 19| 32|
| 3| 18| 7| 7| 1| 24| 2|
| 4| 9| 1| 15| 6| 6| 4|
В настоящее время запрос я использую на столе заключается в следующем:
SELECT id, Max(colx) AS colWithMax
FROM (
SELECT id, one AS Colx From Table1 UNION ALL
SELECT id, two AS Colx From Table1 UNION ALL
SELECT id, three AS Colx From Table1 UNION ALL
SELECT id, four AS Colx From Table1 UNION ALL
SELECT id, five AS Colx From Table1 UNION ALL
SELECT id, six AS Colx From Table1
)
group by id;
Выход я получаю:
ID | colWithMax
-- | ---------
1 | 11
2 | 32
3 | 24
4 | 15
My questio n - как я могу изменить свой запрос, чтобы мой вывод отображал имя столбца вместо значения в столбце?
Основываясь на примере таблицы желаемый результат будет:
ID | colWithMax
-- | ---------
1 | one
2 | six
3 | five
4 | three
Примечание: У меня есть общее представление о SQL, и я никогда не использовал MS-Access раньше. Пожалуйста, будьте как можно более подробными в своих ответах. Спасибо.
Большое спасибо. Это решение сработало для меня. Единственное, что я должен был добавить, было: iif (пять> шесть, «пять», «шесть»))))) ** AS ** col – Kiro
@Kiro - np, рад, что это сработало для вас! Не использовали Access через некоторое время и немного прикрыл его :) – sgeddes