HELP!这是我的问题,我不知道出了什么问题。我有两个表,一个是销售,另一个是交易。交易表与销售表相同,但非常详细,销售表只是总销售额。。。好吧,在销售额表上,我有一些0月份的销售额。。我想更新交易中的详细销售信息,使两个表都为0。现在是更新命令
更新事务SET total_sale=0 WHERE transaction.drecipt=sales.idrecipt
问题是它只更新了事务帮助中的5个字段!!我做错了什么!!
首先,我要指出,将相同的数据放在两个不同的表中通常被认为是糟糕的设计。我甚至会争辩说,没有理由把总销售额存储在任何地方;你总是可以根据构成销售额的交易来计算它。
您遇到的问题是因为您只查看Sales中的当前记录。试试这个。我也在更正您的命令,使其只影响现在total_sale=0的Sales。否则,您将把每个事务设置为0,我认为这不是您想要的:
UPDATE transaction ;
SET total_sale=0 ;
FROM sales ;
WHERE transaction.idreceipt=sales.idreceipt ;
AND sales.total_sale=0
Tamar
问题是指针在Sales表中没有移动,因此您只能使用相同的idrecipt。您需要扫描销售表:
以下是修复的一种方法
Select Sales
Scan
UPDATE transaction SET total_sale=0 WHERE transaction.idrecipt = sales.idreceipt
EndScan