HELP!这是我的问题我不知道出了什么问题我有2个表销售和其他交易,交易表与销售表相同但非常详细的销售表只是总销售...在销售表中我有一些销售在0 ..我想更新交易的详细销售,以便在两个表都是0 ..现在这里是更新命令
UPDATE事务SET total_sale = 0 WHERE transaction.idrecipt = sales.idreceipt
问题是它只更新了交易帮助中的5个字段!我做错了什么!!
答案 0 :(得分:2)
首先,我要指出,将相同的数据放在两个不同的表中通常被认为是不好的设计。我甚至认为没有理由将total_sale存储在任何地方;您总是可以从构成销售的交易中计算出来。
您遇到的问题是因为您只查看销售中的当前记录。试试这个。我也正在纠正你的命令,这样它现在只影响total_sale = 0的Sales。否则,你要将每个事务设置为0,我认为这不是你想要的:
UPDATE transaction ;
SET total_sale=0 ;
FROM sales ;
WHERE transaction.idreceipt=sales.idreceipt ;
AND sales.total_sale=0
玛
答案 1 :(得分:0)
问题是指针没有在Sales表中移动,因此您只处理相同的idreceipt。您需要在Sales表上进行扫描:
这是修复
的一种方法Select Sales
Scan
UPDATE transaction SET total_sale=0 WHERE transaction.idrecipt = sales.idreceipt
EndScan