【发布时间】:2020-10-02 09:45:57
【问题描述】:
我需要在 MySQL 上运行类似于下面的更新语句。它根据同一表中行的条件更新表中的值。有没有办法在 QueryDSL JPA(甚至是原生 JPA)中实现这一点?
UPDATE items,
(SELECT id, retail / wholesale AS markup, quantity FROM items)
AS discounted
SET items.retail = items.retail * 0.9
WHERE discounted.markup >= 1.3
AND discounted.quantity < 100
AND items.id = discounted.id;
【问题讨论】: