Sql 删除冗余访问字段单元

Sql 删除冗余访问字段单元,sql,database,ms-access,vba,ms-access-2010,Sql,Database,Ms Access,Vba,Ms Access 2010,继续从 下表中有三个主要字段,分别是Name_2010、Name_2011和Name_2012,它们需要整合为Name_Final 我使用下面的查询仅选择每行三个字段中的一个特定成员,但目前它无法正常工作,因为它无法识别冗余单元格 SELECT IIf(Name_2010 In (Name_2011, Name_2012), '', Name_2010) AS N1, IIf(Name_2011 In (Name_2010, Name_2012), '', Name_2011)

继续从

下表中有三个主要字段,分别是Name_2010、Name_2011和Name_2012,它们需要整合为Name_Final

我使用下面的查询仅选择每行三个字段中的一个特定成员,但目前它无法正常工作,因为它无法识别冗余单元格

SELECT
  IIf(Name_2010 In (Name_2011, Name_2012), '', Name_2010) 
  AS N1,
  IIf(Name_2011 In (Name_2010, Name_2012), '', Name_2011) 
  AS N2,
  IIf(Name_2012 In (Name_2010, Name_2011), '', Name_2012) 
  AS N3
  FROM Table1;
给定当前表,我应该使用什么查询来实现Name_Final


ORDER BY子句是为了说明它所说的内容,而不是作为“Name\u Final”计算的一部分。

非常感谢您的帮助!随着时间的推移,您是否会在表1中添加字段:Name_2013;名称:2014年;等等?是的,先生。到目前为止,我只有这些非递归查询可以帮助我。
SELECT ID, N1 &
  IIf(N2 <> N1, N2, '') &
  IIf((N3 <> N2) And (N3 <> N1), N3, '') AS Name_Final
FROM
  (SELECT ID, Nz(Name_2010) AS N1, Nz(Name_2011) AS N2, Nz(Name_2012) AS N3
   FROM Table1) AS T
ORDER BY ID;