簡體   English   中英

給定兩個查詢,將Access字段合並為一個字段

[英]Combine Access fields into one field given two queries

我有n個 MS Access字段,需要每行檢查一個合法單元格。 一個合法的單元格根本就沒有值“ missing”,“ unknown”; 或不為空白。 所有這些單元格都將合並為一個僅包含具有合法值的單元格的字段。

參照下表,

盟約

Name_Final將包含這些來自Name_2010Name_2011Name_2012合法單元格。

我已經有兩個獨立的查詢來幫助我完成這項工作,但是我需要將它們的結果合並才能獲得Name_Final字段。

  1. 查詢返回非空或非空單元格

     SELECT Nz(Name_2010, '') & Nz(Name_2011, '') & Nz(Name_2012, '') AS Name_Final 

結果是:

coven-query-1

  1. 過濾具有不希望的值的單元格

     SELECT Name_2010 Not In ('missing', 'unknown', 'Blank(s)', ' ', Nz), Name_2011 Not In ('missing', 'unknown', 'Blank(s)', ' ', Nz), Name_2012 Not In ('missing', 'unknown', 'Blank(s)', ' ', Nz) AS Name_Final FROM Table1; 

這一個返回0-1或空白值所指示的NOT IN括號中的值未指示NOT IN parenthesis`或分別為空白值。

其輸出為:

coven-query-2

我需要找到一種方法將這兩組查詢整合在一起,以提供Name_Final 請幫助SO霸主。

SELECT IIf(Name_2010 In (Null, 'missing', 'unknown', 'Blank(s)', ' '), '', Name_2010) &
   IIf(Name_2011 In (Null, 'missing', 'unknown', 'Blank(s)', ' '), '', Name_2011) &
   IIf(Name_2012 In (Null, 'missing', 'unknown', 'Blank(s)', ' '), '', Name_2012) 
   AS Name_Final
FROM Table1;

就是說,我傾向於清理數據並將所有“缺失”,“未知”或“空白”值替換為NULL,這將允許用簡單的Nz替換IIf-

UPDATE Table1 SET Name_2010 = Null WHERE Trim(Name_2010) In ('missing', 'unknown', 'Blank(s)', '');
UPDATE Table1 SET Name_2011 = Null WHERE Trim(Name_2011) In ('missing', 'unknown', 'Blank(s)', '');
UPDATE Table1 SET Name_2012 = Null WHERE Trim(Name_2012) In ('missing', 'unknown', 'Blank(s)', '');

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM