PostgreSQL UPDATE - Abfrage mit linkem Join-Problem

8
%Vor%

Aber es fügt dem Saldo nur den Wertbetrag der ersten Zahlung 1936 hinzu. Bitte helfen Sie mir, wie ich es beheben kann, ich möchte keinen Zyklus im Code machen, um viele Anfragen auszuführen.

    
Dmitro 27.01.2011, 11:24
quelle

1 Antwort

19

In einer Tabelle mit mehreren Tabellen UPDATE wird jede Zeile in der Zieltabelle nur einmal aktualisiert, auch wenn sie mehrmals vom Join zurückgegeben wird.

Von der Dokumentation :

  

Wenn eine FROM -Klausel vorhanden ist, passiert im Wesentlichen, dass die Zieltabelle mit den in der fromlist genannten Tabellen verbunden ist und jede Ausgabezeile des Joins eine Aktualisierungsoperation für die Zieltabelle darstellt. Wenn Sie FROM verwenden, sollten Sie sicherstellen, dass der Join für jede Zeile, die geändert werden soll, höchstens eine Ausgabezeile erzeugt. Mit anderen Worten, eine Zielzeile sollte nicht mit mehr als einer Zeile der anderen Tabelle (n) verbunden werden. Wenn dies der Fall ist, wird nur eine der Join-Zeilen zum Aktualisieren der Zielzeile verwendet, aber welche verwendet wird, ist nicht ohne weiteres vorhersagbar.

Verwenden Sie stattdessen:

%Vor%     
Quassnoi 27.01.2011, 11:31
quelle

Tags und Links