Во-первых, я укажу, что, как правило, считается плохим проектом помещать одни и те же данные в две разные таблицы.Я бы даже сказал, что нет причин хранить total_sale где-либо;Вы всегда можете рассчитать его по транзакциям, составляющим продажу.
Проблема, с которой вы столкнулись, заключается в том, что вы смотрите только на текущую запись в разделе Продажи.Попробуйте это вместо этого.Я также исправляю вашу команду, чтобы она влияла только на продажи, где total_sale = 0 сейчас.В противном случае вы будете устанавливать для каждой транзакции значение 0, что, как мне кажется, не то, что вам нужно:
UPDATE transaction ;
SET total_sale=0 ;
FROM sales ;
WHERE transaction.idreceipt=sales.idreceipt ;
AND sales.total_sale=0
Тамар