У меня есть набор записей с именем rsProductClass
, который возвращается из таблицы в базе данных. Это очень простое SELECT * FROM Table WHERE ProductID = {ID Value Here}
и таблица такая:
ProductID | UPPERTIER | LOWERTIER | NATIER | OTHERTIER
1 20 60 10 10
2 10 90 NULL NULL
3 NULL 40 NULL 5
Таблица может иметь или не иметь значение для каждого из различных уровней.
Что я хочу сделать, так это показать пользователю, какой столбец имеет наибольшее значение и каково имя этого столбца. Так, например, если вы просматриваете ProductID
2
, то на странице должно отображаться сообщение «Скорее всего, это продукт LOWERTIER
».
Мне нужно отсортировать запрос rsProductClass
таким образом, чтобы он возвращал мне список столбцов в этом запросе, упорядоченный по значению в каждом столбце. Я хочу рассматривать значения NULL как нули.
Я пытался возиться с выполнением функций типа valuelist()
и некоторых функций типа ArrayToList()
, но он падает при значениях NULL. Скажем, я добавляю столбцы в массив, а затем использую ArraySort()
, чтобы получить их в каком-то порядке, я получаю сообщение об ошибке, говорящее что-то вроде «Позиция 1 не является числовой», потому что она имеет значение NULL.
Это то, что может сделать ColdFusion? Я предполагаю, что это какой-то поворот набора записей, который выходит за рамки моих возможностей.
NULL
s как0
s, используяCOALESCE()
-- например,SELECT ProductID, COALESCE(uppertier, 0) AS uppertier, etc.
- person David Faber   schedule 20.01.2015isNull(column, 0)
, чтобы изменить нулевые значения на 0. - person Matt Busche   schedule 20.01.2015