Ich habe eine Tabelle namens temp_table, die aus folgenden Zeilen besteht:
%Vor%Jetzt muss ich die Ergebnisspalte mit der Anzahl (*) von colb aktualisieren. Dafür versuche ich folgende Abfrage:
%Vor%Wählen Sie distinct colb und result aus temp_table:
%Vor%Ausgabe erhalten:
%Vor%Aber die erwartete Ausgabe ist:
%Vor%Ich bekomme nicht, wo ich in meiner Frage falsch liege? Bitte hilf mir. Danke
Sie sollten die zu aktualisierende Tabelle nicht in der from
-Klausel wiederholen. Dadurch wird ein kartesischer Self-Join erstellt.
Zitat aus dem Handbuch:
Beachten Sie, dass die Zieltabelle nicht in der from_list erscheinen darf, außer Sie beabsichtigen einen Self-Join (in diesem Fall muss er in der from_list mit einem Alias erscheinen)
(Betonung meiner)
Leider unterstützt UPDATE
keine expliziten Joins mit dem Schlüsselwort JOIN
. So etwas sollte funktionieren:
Tags und Links postgresql