Ergebnis 1 bis 5 von 5

Thema: Werte von einer Tabelle in die andere || UPDATE mit JOIN ?

  1. #1
    MasterEvil ist offline Benutzer
    Registriert seit
    18.01.2007
    Beiträge
    34

    Standard Werte von einer Tabelle in die andere || UPDATE mit JOIN ?

    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
    Fehler:
    Code:
    syntax error at or near "JOIN" at character 62
    Das einzige BackUp dass du jemals brauchen wirst ist jenes, welches du nicht gemacht hast!

  2. #2
    akretschmer ist gerade online Super-Moderator
    Registriert seit
    29.10.2006
    Ort
    Dresden
    Beiträge
    5.472

    Standard

    Zitat Zitat von MasterEvil Beitrag anzeigen
    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
    --
    ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
    https://www.xing.com/profile/Andreas_Kretschmer7

  3. #3
    MasterEvil ist offline Benutzer
    Registriert seit
    18.01.2007
    Beiträge
    34

    Standard

    Ah, OK mit Subselects geht es und hat auch mein Problem gelöst THx

    Aus Interesse aber noch die Frage:
    Kann man denn auch UPDATE´s mit JOIN´s in Postgres machen?
    Das einzige BackUp dass du jemals brauchen wirst ist jenes, welches du nicht gemacht hast!

  4. #4
    akretschmer ist gerade online Super-Moderator
    Registriert seit
    29.10.2006
    Ort
    Dresden
    Beiträge
    5.472

    Standard

    Zitat Zitat von MasterEvil Beitrag anzeigen
    Ah, OK mit Subselects geht es und hat auch mein Problem gelöst THx

    Aus Interesse aber noch die Frage:
    Kann man denn auch UPDATE´s mit JOIN´s in Postgres machen?
    so?

    Code:
    update personal set status = kunde.status from kunde where kunde.id=personal.id;
    sieht zumindest schöner aus...

    Andreas
    --
    ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
    https://www.xing.com/profile/Andreas_Kretschmer7

  5. #5
    MasterEvil ist offline Benutzer
    Registriert seit
    18.01.2007
    Beiträge
    34

    Standard

    Achso
    Ja, genau so dachte ich mir das nur dass ich irgendwie die Anweisung "JOIN" da einbauen wollte aber ist ja eigentlich garnicht nötig THx!!
    Das einzige BackUp dass du jemals brauchen wirst ist jenes, welches du nicht gemacht hast!

Ähnliche Themen

  1. Update einer Tabelle nach Join
    Von Reptil im Forum SQL
    Antworten: 2
    Letzter Beitrag: 10.08.2011, 08:48
  2. Antworten: 4
    Letzter Beitrag: 01.03.2011, 12:05
  3. Antworten: 7
    Letzter Beitrag: 26.01.2010, 08:37
  4. Antworten: 8
    Letzter Beitrag: 13.06.2008, 08:28
  5. Daten aus einer Tabelle in eine andere kopieren
    Von Turmaline im Forum PGAdmin
    Antworten: 3
    Letzter Beitrag: 26.02.2007, 21:20

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Links: Tobias Bauer - IT- und Funkdienstleistungen   -   Bilderrahmen-kaufen.de - Der Onlineshop für Bilderrahmen & Fotorahmen   -   Funkforum