1

我有多个 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_1, field_2, field_3...的值field_n。假设这些 n 字段中只有一个具有合法值。

这在 MS Access 中可以使用简单的查询来实现吗?

4

1 回答 1

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)
于 2013-10-08T15:20:17.547 回答