Sql 长文本数据类型上的最大值-在Microsoft Access中

Sql 长文本数据类型上的最大值-在Microsoft Access中,sql,ms-access,Sql,Ms Access,在我的表格中,我有一个公司列表和几个字段,包括一个注释字段。我正在尝试删除具有相同公司名称的重复项,并根据需要使用总计调整其余字段的信息:Group as、Max和Min 这适用于除note字段之外的所有字段,并导致两个公司出现两次,因为我无法合并note字段。注释字段是一种长文本数据类型,当我将其更改为短文本数据类型时,它可以工作,并且我可以进行合并,但是它会丢失注释中需要保留的重要部分。如何将Max函数用于长文本,或者是否有其他方法解决此问题 以下是一个例子: ID Com

在我的表格中,我有一个公司列表和几个字段,包括一个注释字段。我正在尝试删除具有相同公司名称的重复项,并根据需要使用总计调整其余字段的信息:Group as、Max和Min

这适用于除note字段之外的所有字段,并导致两个公司出现两次,因为我无法合并note字段。注释字段是一种长文本数据类型,当我将其更改为短文本数据类型时,它可以工作,并且我可以进行合并,但是它会丢失注释中需要保留的重要部分。如何将Max函数用于长文本,或者是否有其他方法解决此问题

以下是一个例子:

ID          CompanyName           Notes

123         CompanyA
124         CompanyA              Long note goes here. 
126         CompanyB              Note here   
234         CompanyC
我的目标是让它看起来像这样:

ID          CompanyName           Notes

123         CompanyA              Long note goes here. 
126         CompanyB              Note here   
234         CompanyC

您可能不应该在文本字段上使用MAX来消除重复项,因为它可能会为您选择错误的项。例如,如果您将“一个非常好的长音符”和“存根”输入到最大值,则它会更喜欢“存根”,因为它在字典上更高

也许您希望将MAX应用于注释的长度,而不是注释本身。如果这样做,您可以通过简单的查询找到重复项:

SELECT c.ID as dup_ID, c.CompanyName as dup_name, c.Notes as dup_Notes
FROM Company c
WHERE EXISTS (
    SELECT *
    FROM Company oc
    WHERE oc.CompanyName = c.CompanyName AND LEN(c.Notes) < LEN(oc.Notes)
)

为什么同一家公司会出现两次?这似乎是一个设计缺陷。艾伦·布朗(Allen Browne)对访问备忘录类型有一个很好的一般性讨论:这是另一家公司制造的一个设计缺陷。我只是想修复历史信息,这样我就可以把它放到客户的新系统中,而不需要复制。