将多个字段与条件组合
Posted
技术标签:
【中文标题】将多个字段与条件组合【英文标题】:Combine multiple fields with condition 【发布时间】:2013-10-08 15:12:49 【问题描述】:我有多个 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 中是否可以通过一个简单的查询来实现?
【问题讨论】:
【参考方案1】:如果您要在 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)
【讨论】:
完美运行!对于其他用户,只需提醒在末尾添加FROM table_name
,否则它只会询问字段的值并将它们连接起来。
如何过滤“缺失”和“未知”等自定义值?我尝试在 '',
之后的第二个查询中添加它们,但 Access 将其声明为“参数数量错误”。以上是关于将多个字段与条件组合的主要内容,如果未能解决你的问题,请参考以下文章