帮助!这是我的问题,我不知道发生了什么问题销售表我在 0 中有一些销售 .. 我想更新交易中的销售细节,以便在两个表中都是 0 .. 现在这里是更新命令
UPDATE transaction SET total_sale=0 WHERE transaction.idrecipt = sales.idreceipt
问题是它只更新交易帮助中的 5 个字段!!我究竟做错了什么!!
帮助!这是我的问题,我不知道发生了什么问题销售表我在 0 中有一些销售 .. 我想更新交易中的销售细节,以便在两个表中都是 0 .. 现在这里是更新命令
UPDATE transaction SET total_sale=0 WHERE transaction.idrecipt = sales.idreceipt
问题是它只更新交易帮助中的 5 个字段!!我究竟做错了什么!!
首先,我要指出,将相同的数据放在两个不同的表中通常被认为是糟糕的设计。我什至认为没有理由将 total_sale 存储在任何地方。你总是可以从构成销售的交易中计算出来。
您遇到的问题是因为您只查看 Sales 中的当前记录。试试这个。我还在更正您的命令,使其仅影响现在 total_sale=0 的销售。否则,您要将每笔交易设置为 0,我认为这不是您想要的:
UPDATE transaction ;
SET total_sale=0 ;
FROM sales ;
WHERE transaction.idreceipt=sales.idreceipt ;
AND sales.total_sale=0
添马舰
问题是指针在您的销售表中没有移动,因此您只处理同一个 idreceipt。您需要扫描销售表:
这是解决此问题的一种方法
Select Sales
Scan
UPDATE transaction SET total_sale=0 WHERE transaction.idrecipt = sales.idreceipt
EndScan