在我的表中,我有一个公司列表和几个字段,包括一个注释字段。我试图删除具有相同公司名称的重复项,并使用总计调整其余字段所需的信息: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
答案 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)
)