将多个字段与条件组合

时间:2013-10-08 15:12:50

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

我有多个MS Access字段,我需要将大部分字段与条件相结合。我仍然是一个复杂的SQL查询的初学者,因此将以下伪代码转换为现实的限制:

SELECT field_1, field_2, field_3
CREATE new_field

// these would be WHERE-queries
if field_1 & field_2 are "missing", "unknown" or empty
    then new_field = field_3 

else if field_2 & field_3 are "missing", "unknown" or empty
    then new_field = field_1

else if field_1 & field_3 are "missing", "unknown" or empty
    then new_field = field_2  

new_field基本上包含合并field_1field_2field_3 ... field_n的值。假设这些n字段中只有一个具有合法价值。

使用简单查询在MS Access中是否可以实现?

1 个答案:

答案 0 :(得分:2)

如果您要在Access会话中运行查询,则可以使用Nz。这将返回包含非Null值的字段的值...

SELECT Nz(field_1, '') & Nz(field_2, '') & Nz(field_3, '') AS combined

如果您需要可以在Access会话外部使用的查询,则Nz不可用。改为使用IIf表达式。

SELECT
      IIf(field_1 Is Null, '', field_1)
    & IIf(field_2 Is Null, '', field_2)
    & IIf(field_3 Is Null, '', field_3)