Как записать результат в эту же таблицу через UPDATE в PostgreSQL?

Я не много не понимаю что делаю не так, у меня есть таблица accounts и там есть значение которые нужны чтобы рассчитать и записать в столбец result_for_the_month.

вот мой sql запрос:

UPDATE accounts SET result_for_the_day = (SELECT (number_of_cars * rated_energy * general_tariff) * 24 FROM accounts)

Ошибка:

ERROR:  more than one row returned by a subquery used as an expression
SQL state: 21000

Если использовать Insert Into то он добавит новые строки с результатом а мне это не надо.

вот таблица:

id number_of_cars rated_energy general_tariff  result_for_the_day
1       2              3.25           4               
2       5              2.4            4 
3       7              1.9            3            
4       8              3.4            3 
5       6              5.6            3            

сама формула (number_of_cars * rated_energy * general_tariff) * 24 Результат в result_for_the_day


Ответы (1 шт):

Автор решения: Мелкий

Если всё вычисление опирается только на эту же текущую строку - то подзапрос вовсе не нужен. Просто:

UPDATE accounts SET 
  result_for_the_day = number_of_cars * rated_energy * general_tariff * 24
where ...
→ Ссылка