HamstaH
Grünschnabel
Moin Moin,
ich versuche gerade einen etwas (für mich jedenfals) komplizierteren SQL UPDATE durchzuführen:
Ich habe zwei Tabellen, in beiden sind Teilnehmer_IDs aufgelistet (es sind aber nicht die Primärschlüssel !) und ich möchte nun Werte aus der Tabelle_B in die Tabelle_A übertragen, aber nur wenn die Teilnehmer_IDs übereinstimmen.
Also was ich gern hätte ist den Tabelle_B.Wert in Tabelle_A.Frage aber natürlich bei dem entsprechenden Teilnehmer und nur von Frage_ID=1.
Nach meiner Logik müßte der Befehl so lauten:
UPDATE Tabelle_A SET Tabelle_A.Frage = (SELECT Wert FROM Tabelle_B WHERE Frage_ID=1) WHERE TabelleA.Teilnehmer_ID=TabelleB.Teilnehmer_ID
Was aber leider nicht funktioniert
ich versuche gerade einen etwas (für mich jedenfals) komplizierteren SQL UPDATE durchzuführen:
Ich habe zwei Tabellen, in beiden sind Teilnehmer_IDs aufgelistet (es sind aber nicht die Primärschlüssel !) und ich möchte nun Werte aus der Tabelle_B in die Tabelle_A übertragen, aber nur wenn die Teilnehmer_IDs übereinstimmen.
Code:
Tabelle_A
| - - - - - - | - - - - - - - - - - - - -|- - - - - - -|
| Frage | Teilnehmer_ID | Antwort |
| - - - - - - | - - - - - - - - - - - - -|- - - - - - -|
| | 1234 | Ja |
| - - - - - - | - - - - - - - - - - - - -|- - - - - - -|
| | 1235 | Nein |
| - - - - - - | - - - - - - - - - - - - -|- - - - - - -|
...
Tabelle_B
| - - - - - - - -| - - - - - - - - - - - - -|- - - - - - -|
| Frage_ID | Teilnehmer_ID | Wert |
| - - - - - - - -| - - - - - - - - - - - - -|- - - - - - -|
| 1 | 1234 | Eins |
| - - - - - - - -| - - - - - - - - - - - - -|- - - - - - -|
| 2 | 1234 | Zwei |
| - - - - - - - -| - - - - - - - - - - - - -|- - - - - - -|
| 1 | 1235 | Drei |
| - - - - - - - -| - - - - - - - - - - - - -|- - - - - - -|
| 2 | 1235 | Vier |
| - - - - - - - -| - - - - - - - - - - - - -|- - - - - - -|
...
Also was ich gern hätte ist den Tabelle_B.Wert in Tabelle_A.Frage aber natürlich bei dem entsprechenden Teilnehmer und nur von Frage_ID=1.
Nach meiner Logik müßte der Befehl so lauten:
UPDATE Tabelle_A SET Tabelle_A.Frage = (SELECT Wert FROM Tabelle_B WHERE Frage_ID=1) WHERE TabelleA.Teilnehmer_ID=TabelleB.Teilnehmer_ID
Was aber leider nicht funktioniert
