Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 表被指定两次,都作为';更新';并作为单独的数据源_C#_Mysql_Database - Fatal编程技术网

C# 表被指定两次,都作为';更新';并作为单独的数据源

C# 表被指定两次,都作为';更新';并作为单独的数据源,c#,mysql,database,C#,Mysql,Database,我试图更新一列中的多行,但执行查询时出错。有人指导我哪里错了。提前谢谢 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.Proj

我试图更新一列中的多行,但执行查询时出错。有人指导我哪里错了。提前谢谢

  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'));

您在该查询中多次使用表“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')
                        );

您得到了什么错误?查询得到错误?您遇到了什么错误?@MarkB'表被指定了两次,既作为“更新”的目标,也作为“数据”的单独源。这是错误。您在该查询中多次使用表“TestTaker”,可能是重复的,因此,您必须为该表分配一个“别名”,并且必须为您使用的每一列指定此别名。非常感谢。你解决了我的问题。它奏效了:)