我正在尝试更新列中的多行但是当我执行查询获取错误时。有人指导我错在哪里。提前致谢
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 :(得分:3)
您在该查询中多次使用表'TestTaker',因此您必须为该表分配“别名”,并且必须为您使用的每个列指定此别名。 或者尝试简化您的查询,如下所示。
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')
);