0
Итак, я пытаюсь упорядочить элементы в базе данных по значению, которое представляет собой сумму одной строки json encdoded value. Например несколько строк выглядит следующим образом:Mysql SELECT с функцией common_schema get_option возвращает NULL
id | program_invested_details | program_add_status | program_status
5 | {"invested":"120.00","received":5.4} | 4 | 1
7 | {"invested":"120.00","received":9} | 4 | 1
15 | {"invested":"110.00","received":50} | 4 | 1
52 | {"invested":"110.00","received":2} | 4 | 1
и мой запрос выглядит следующим образом:
SELECT id, ((`common_schema`.`get_option`("program_invested_details", "received") * 100)/`common_schema`.`get_option`("program_invested_details", "invested")) AS PERCENT_TOTAL FROM `hp_programs_list` WHERE `program_add_status` = 4 AND `program_status` = 1 ORDER BY PERCENT_TOTAL DESC
, но после этого результата запроса не то же самое, как это должно быть:
mysql> SELECT id, ((`common_schema`.`get_option`("program_invested_details", "received") * 100)/`common_schema`.`get_option`("program_invested_details", "invested")) AS PERCENT_TOTAL FROM `hp_programs_list` WHERE `program_add_status` = 4 AND `program_status` = 1 ORDER BY PERCENT_TOTAL DESC;
+-----+---------------+
| id | PERCENT_TOTAL |
+-----+---------------+
| 314 | NULL |
| 308 | NULL |
| 307 | NULL |
| 302 | NULL |
| 287 | NULL |
| 285 | NULL |
| 280 | NULL |
| 277 | NULL |
| 269 | NULL |
| 319 | NULL |
| 317 | NULL |
+-----+---------------+
11 rows in set (0.00 sec)
так PERCENT_TOTAL - это NULL вместо SUM. В чем проблема?
попытался сделать просто 'select get_option (...)', чтобы увидеть, возвращается ли правильное значение вообще? Я предполагаю, что get_option возвращает null при неудаче, что отравляет все остальное. –
Да, попробовал только «get_option» («program_invested_details», «received») 'и он все равно возвращает мне NULL –
, тогда вам придется выяснить, почему это происходит. –