最长文本数据类型 - 在Microsoft Access中

时间:2014-05-23 13:07:06

标签: sql ms-access

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

这适用于除注释字段之外的所有字段,并且因为我无法合并注释字段而导致两家公司出现两次。注释字段是长文本数据类型,当我将其更改为短文本数据类型时,它可以工作,我可以进行合并,但是它会丢失我需要保留的注释的重要部分。如何使用带有长文本的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

1 个答案:

答案 0 :(得分:2)

您可能不应在文本字段上使用MAX来消除重复项,因为它可能会为您选择错误的项目。例如,如果您将'A very good and long note''Stub'提供给MAX,则会更喜欢'Stub',因为它的字典顺序更高。

也许您想要将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)
)