我正在寻找一种方法,可以从多个字段中找到最长的记录。
具体来说,我有一个名称和地址数据库。有时,名称字段将比地址长。 Othertimes,它可以是次要地址或城市,州和城市的组合。邮政编码。
使用Excel我可以使用MAX函数并按降序对列表进行排序:
=max(LEN(Full Name), LEN(Address1), etc.)
但是,Access中的Max功能只能容纳一个字段。
我当然可以嵌套多个IF语句来比较字段,但我认为有一种更简单的方法。
答案 0 :(得分:2)
<强>解决方案:强>
您可以将所有字段连接在一起并查找其最大长度。
粗略的例子(使用MS访问方法):
SELECT max(len(Person.[first_name] & Person.[last_name] & Person.[address])) AS Expr1
FROM Person;
<强>示例:强>
答案 1 :(得分:2)
我可能已经走了很长一段路,但通过添加字段会更容易扩展。
我对我需要比较的每个字段进行了查询(总共6个)。查询有一个新字段“长度”,并且限制为可用的最高值。
然后,我创建了所有最长字段的并集,并返回结果表的前1位。
它完成了工作,但如果有人有更有效或更简单的方法,请告诉我。