我有多个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中是否可以实现?
答案 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)