Как обновить несколько столбцов на основе соответствующего значения столбца для нескольких строк в postgres sql - PullRequest
0 голосов
/ 18 апреля 2020

У меня есть таблица.

--------------------------------
|id|po_unit_price|po_qty|amount|
--------------------------------
|1 | 10          | 2    |null  |
--------------------------------
|2 | 20          | 4    |null  |
-------------------------------- 

Теперь я хочу обновить сумму для всех строк одним запросом. сумма будет po_unit_price * po_qty

Я попробовал себя, а также попробовал поискать, но не смог добиться успеха.

Заранее спасибо.

1 Ответ

0 голосов
/ 18 апреля 2020

Вы можете именовать столбцы с обеих сторон оператора присваивания:

UPDATE mytable
SET    amount = po_unit_price * po_qty

Хотя, если amount всегда должно быть произведением po_unit_price и po_qty, вы должны не сохранять его как столбец вообще, и вместо этого запрашивайте его, когда вам это нужно:

SELECT po_unit_price, po_qty, po_unit_price * po_qty AS amount
FROM   mytable
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...