嵌套选择的SQL错误
错误为“操作必须使用可更新查询” 我正在尝试使用以下信息更新“订单”表,但是只有一个项目的价格将通过文本框提供,并且我正在尝试使用订购数量计算总订单价值,该数量已在该表中 下面的代码包括从变量中获取的数据。其中2英寸的“增值税=2”和“价格=2”是一个单位的价格(2.00英镑)。订单总值将存储在“价格”字段中,增值税应使用相同的代码计算,但乘以0.2得出20%的增值税嵌套选择的SQL错误,sql,vb.net,ms-access,Sql,Vb.net,Ms Access,错误为“操作必须使用可更新查询” 我正在尝试使用以下信息更新“订单”表,但是只有一个项目的价格将通过文本框提供,并且我正在尝试使用订购数量计算总订单价值,该数量已在该表中 下面的代码包括从变量中获取的数据。其中2英寸的“增值税=2”和“价格=2”是一个单位的价格(2.00英镑)。订单总值将存储在“价格”字段中,增值税应使用相同的代码计算,但乘以0.2得出20%的增值税 UPDATE orders SET Invoice_number = 'IN9999', deliver
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'
也许我不能这样使用嵌套查询。我不确定,但任何帮助都将不胜感激:)谢谢 您可以在更新中直接访问整个记录,而不是子查询,如下所示:
UPDATE Orders
SET Invoice_number = 'IN9999',
Delivery_note_number = 'DN6000',
Price = 2 * quantity,
VAT = (40 * quantity)/100,
Shipping = 3
WHERE purchase_order_number = 'PO7512'
请注意,对于分数,最好是先乘后除。您的查询没有指定数量的来源。哦,所以我仍然可以使用数量的值,即使在查询中根本没有选择它?我刚试过那段代码,但还是出现了同样的错误。@darkjoe31代码应该可以工作,表的定义是什么?@Sklivz啊,我没有看到,我的知觉是盲目的:(这与你的子查询无关。它可能与
[orders]
不是一个表,或者至少不是一个可更新的表有关。