如何将每列乘以一个数字,然后为每列设置新值?

时间:2016-04-01 18:27:06

标签: sql postgresql sql-update

我正在尝试将lbs转换为克。我有一个以lbs保存的original_amount,我想将这些值中的每一个乘以453.592以转换为克。

下面的查询会保存第一个选择的值,但不适用于每个列。

如何首先选择列,然后将其相乘,然后更新?

UPDATE inventory 
SET original_amount = subquery.new_amount 
FROM (SELECT original_amount * 453.592 as new_amount 
      FROM inventory) AS subquery 
where original_units iLike 'lbs';

1 个答案:

答案 0 :(得分:6)

这里不需要子查询,只需:

UPDATE inventory 
SET original_amount = original_amount * 453.592,
    original_units='grams'   
WHERE original_units iLike 'lbs';

如果您想更新original_units字段,您也可以在此查询中执行此操作:

anArr