更新表字段,其中表a中的字段=表B中的字段



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

相关内容

  • 没有找到相关文章

最新更新