我正在寻找一种方法,可以从多个字段中找到最长的记录。
具体地说,我有一个姓名和地址的数据库。有时,名称字段会比地址字段长。其他时候,它可以是次要地址或城市、州和邮政编码的组合。
使用Excel时,我可以使用MAX函数,并按降序对列表进行排序:
=max(LEN(Full Name), LEN(Address1), etc.)
但是,Access中的Max函数仅支持单个字段。
我当然可以嵌套多个IF语句来比较字段,但我认为有一种更简单的方法。
发布于 2015-04-07 05:06:11
解决方案:
您可以将所有字段连接在一起,并查找其中的最大长度。
粗略示例(使用MS访问方法):
SELECT max(len(Person.[first_name] & Person.[last_name] & Person.[address])) AS Expr1
FROM Person;
示例:
发布于 2015-04-07 23:00:51
我可能已经走了很长的路,但是通过添加字段来扩展会更容易。
我对每个需要比较的字段进行了查询(总共6个)。查询有一个新的字段"Length",并且被限制为可用的最高值。
然后,我将所有最长的字段合并在一起,并返回结果表的前1。
它可以完成工作,但如果有人有更有效或更简单的方法,请让我知道。
https://stackoverflow.com/questions/29479653
复制相似问题