2

好的,所以我正在做一些功课,这是我正在努力解决的问题:

使用 UPDATE 语句,在 products 表中为当前 unit_price 介于 $5.00 和 $10.00 之间的所有行创建 unit_price 5%。

我对此的回答是:

UPDATE      products
SET         unit_price = unit_price*1.05
WHERE       unit_price BETWEEN 5.00 AND 10.00;
GO

但我收到此错误消息:

将 varchar 值“reorder_level”转换为数据类型 int 时转换失败。

这没有任何意义,因为列 'reorder_level' 已经是 int 并且与此 sql 语句无关。我写的语句不正确吗?帮助!

4

1 回答 1

0

尝试这个:

     更新 t1
    SET t1.unit_price = t2.unit_price*1.05
    FROM products AS t1 INNER JOIN products AS t2 ON t1.productid = t2.productid
    WHERE t1.unit_price 介于 5.00 和 10.00 之间;
    去

于 2013-12-28T23:58:29.747 回答