Update mit Wert aus anderer Tabelle

turntab

Benutzer
Beiträge
5
Guten Tag,

ich habe folgende Tabellen

Autos
Auto-ID
Bezeichnung
Farbe (ohne Werte)

Farben

Farbname
Farbwert

Farbwerte

Auto-ID
Farbwert

Mein Ziel ist es die Spalte Farbe (die bisher leer ist) in der Tabelle Autos mit dem Wert aus der Spalte Farbname der Tabelle Farben zu updaten.

Für einen Denkanstoß bin ich sehr dankbar :)

 
Werbung:
läßt sich reduzieren auf dieses Beispiel:

Code:
test=*# create table auto (id int primary key, farbe text);
CREATE TABLE
test=*# create table farbe(auto_id int references auto, farbe text);
CREATE TABLE
test=*# insert into auto(id) values (1);
INSERT 0 1
test=*# insert into auto(id) values (2);
INSERT 0 1
test=*# insert into auto(id) values (3);
INSERT 0 1
test=*# insert into farbe values (1, 'rot');
INSERT 0 1
test=*# insert into farbe values (2, 'blau');
INSERT 0 1
test=*# insert into farbe values (3, 'gelb');
INSERT 0 1
test=*# select * from auto;
 id | farbe
----+-------
  1 |
  2 |
  3 |
(3 Zeilen)

test=*# update auto set farbe=farbe.farbe from farbe where auto.id=farbe.auto_id;
UPDATE 3
test=*# select * from auto;
 id | farbe
----+-------
  1 | rot
  2 | blau
  3 | gelb
(3 Zeilen)

test=*#
 
Zurück
Oben