
Zitat von
MasterEvil
Hallo, ich habe eine Tabelle für mein personal und jeweils eine für untergeordnete Daten bei kunden, mitarbeitern etc.
Jetzt hat sich ergeben dass ich eine Spalte die erst nur für eine Zielgruppe bestimmt war für alle in die Personal Tabelle übernehmen muss.
Eigentlich nicht schwer wenn ein UPDATE mit JOIN klappen würde aber leider meckert Postgres dort dass an JOIN an
Wiefolgt sieht mein UPDATE aus, kann mir da einer nen Lösungsweg anbieten oder sagen was ich an der Syntax ändern muss?
Ich währe echt dankbar!
Update:
Code:
UPDATE personal SET personal.status = kunde.status
JOIN kunde ON personal.personalid = kunde.personalid
[code
update personal set status = (select status from kunde where personal.id=kunde.id);
[/code]
nicht ganz Deine Spaltennamen, das überlasse ich Dir zur Übung.
Beispiel:
Code:
test=# create table personal (id int);
CREATE TABLE
test=*# create table kunde (id int, status int);
CREATE TABLE
test=*# insert into kunde (id,status) values (1,1);
INSERT 0 1
test=*# insert into kunde (id,status) values (2,2);
INSERT 0 1
test=*# insert into kunde (id,status) values (3,3);
INSERT 0 1
test=*# insert into personal (id) values (1);
INSERT 0 1
test=*# insert into personal (id) values (2);
INSERT 0 1
test=*# insert into personal (id) values (3);
INSERT 0 1
test=*# commit;
COMMIT
test=# alter table personal add column status int;
ALTER TABLE
test=*# update personal set status = (select status from kunde where kunde.id=personal.id);
UPDATE 3
test=*# select * from personal ;
id | status
----+--------
1 | 1
2 | 2
3 | 3
(3 rows)
Andreas
Lesezeichen