Как правильно составить запрос с условием в Postgresql
Есть апи, по которой передаю данные JSON в бд, мне необходимо изменить данные в таблице user_date при запросе, если поле amount < price. Подскажите как правильно реализовать такой запрос?
Вот мой вариант, но он совсем не удачный:
`SELECT *
CASE
WHEN amount > price THEN UPDATE user_data SET amount - ABS($4), service_id = $2, order_id = $3, price = $4, WHERE id = $1
ELSE amount END
FROM user_data
`
Ответы (1 шт):
Автор решения: Victor
→ Ссылка
Решил проблему так:
UPDATE user_data
SET amount = case when amount - ABS($4) >= 0 then amount - ABS($4) else amount end,
service_id = $2,
order_id = $3,
price = $4
WHERE id = $1;