2016-05-06 7 views
1

Ich versuche, mehrere Zeilen in einer Spalte zu aktualisieren, aber wenn ich Abfrage Fehler ausführen. Jemand führt mich, wo ich falsch liege. Vielen Dank im VorausTabelle ist zweimal angegeben, sowohl als Ziel für 'UPDATE' und als separate Quelle für Daten

UPDATE TestTaker 
    SET TestTaker.Email = 'Replaced' 
    WHERE TestTaker.Id IN (SELECT TestTaker.Id FROM TestTaker 
    INNER JOIN Questionnaire ON (TestTaker.id = Questionnaire.TestTaker_id) 
    WHERE Questionnaire.Project_id IN(SELECT Project.Id FROM Project WHERE NAME LIKE 'abcd')); 
+0

Welchen Fehler bekommen Sie? – MarkB

+0

Abfrage Fehler bekommen? Welchen Fehler bekommst du? –

+0

@MarkB 'Tabelle ist zweimal angegeben, sowohl als Ziel für' UPDATE 'und als separate Quelle für Daten' ist hier der Fehler. – MaxMini

Antwort

3

Sie Tabelle mehrfach in dieser Abfrage ‚TestTaker‘ verwenden, so dass Sie für diese Tabelle einen ‚Alias‘ zuweisen und haben für alle Spalten diesen Alias ​​angeben, wo Sie verwenden. Oder versuchen Sie, Ihre Anfrage wie die unten zu vereinfachen.

UPDATE TestTaker 
SET TestTaker.Email = 'Replaced' 
WHERE TestTaker.Id IN (SELECT Questionnaire.TestTaker_id 
         FROM Questionnaire 
         WHERE (TestTaker.id = Questionnaire.TestTaker_id) 
          AND Questionnaire.Project_id IN( SELECT Project.Id 
                   FROM Project WHERE NAME LIKE 'abcd') 
         ); 
+1

Vielen Dank. Du hast mein Problem gelöst. Es hat funktioniert :) – MaxMini

Verwandte Themen