结合了状态多个字段(Combine multiple fields with condition)

2019-10-18 18:19发布

我有多个MS接入领域,我需要他们大多结合了条件。 我还是复杂的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使用简单的查询?

Answer 1:

如果您将访问会话中运行查询,你可以使用Nz 。 这将返回包含非空值的字段的值...

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

如果您需要查询,可以根据接入会议以外的工作, Nz不可用。 使用一个IIf表达式来代替。

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


文章来源: Combine multiple fields with condition