错误是“操作必须使用可更新的查询”。
我正在尝试使用以下信息更新'订单'表,但是只有1项的价格将通过文本框提供,我试图使用订购数量计算总订单价值,这已经是在这张桌子里。
以下代码包含从变量中获取的数据。 2%的“VAT = 2”和“price = 2”是一个单位的价格(2.00英镑)。总订单价值将存储在“价格”字段中,增值税应使用相同的代码计算,但时间乘以0.2以获得20%的增值税。
UPDATE orders
SET Invoice_number = 'IN9999',
delivery_note_number = 'DN6000',
price =2 *
(SELECT quantity
FROM orders
WHERE purchase_order_number = 'PO7512'
),
VAT = (2 *
(SELECT quantity
FROM orders
WHERE purchase_order_number = 'PO7512'
)/100) * 20,
shipping = 3
WHERE purchase_order_number = 'PO7512'
也许我不能以这种方式使用嵌套查询。我不确定,但任何帮助将不胜感激:)谢谢!
答案 0 :(得分:2)
您可以直接在更新中访问整个记录,而不是子查询,如下所示:
UPDATE Orders
SET Invoice_number = 'IN9999',
Delivery_note_number = 'DN6000',
Price = 2 * quantity,
VAT = (40 * quantity)/100,
Shipping = 3
WHERE purchase_order_number = 'PO7512'
请注意,对于分数,最好先乘以后再划分。