删除冗余Access字段单元格

时间:2013-10-12 12:31:09

标签: sql database ms-access access-vba ms-access-2010

继续 Combine Access fields into one field given two queries

我的下表包含三个主要字段Name_2010Name_2011Name_2012,需要将它们整合为Name_Final

coven

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

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

1 个答案:

答案 0 :(得分:0)

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;

ORDER BY子句适用于它所说的内容,而不是“Name_Final”计算的一部分。