在 Access SQL 中查找具有长文本数据类型的重复条目
Finding duplicate entries with Long Text data type in Access SQL
我有一个查询 returns 在 运行 上出现以下错误消息:
子查询中的备忘录、OLE 或超链接对象无效 'field1'
我的查询如下:
SELECT field1, field2, field3
FROM table1
WHERE (((table1.[field1]) In (SELECT [field1] FROM [table1] As Tmp GROUP BY [field1] HAVING Count(*)>1 )))
ORDER BY fie1dl1;
关于如何解决这个问题有什么想法吗?
谢谢!
(写为答案只是因为作为评论会很乱-如果提供了要求可能是答案)
我不使用访问权限,但据我所知,不支持对长文本进行分组。
作为解决方法,如果您的长文本数据可以在其前 255 个字符中识别(access 支持 255 的短文本长度?为了安全起见,我们假设 250):
SELECT *
FROM table1
WHERE left([field1],250) In (SELECT left(field1,250)
FROM [table1]
GROUP BY left([field1],250) HAVING Count(*) > 1 )
ORDER BY field1;
PS:如果access有CheckSum计算功能,那么可以用它来比较,而不是Left(field1, 250)。
我有一个查询 returns 在 运行 上出现以下错误消息: 子查询中的备忘录、OLE 或超链接对象无效 'field1'
我的查询如下:
SELECT field1, field2, field3
FROM table1
WHERE (((table1.[field1]) In (SELECT [field1] FROM [table1] As Tmp GROUP BY [field1] HAVING Count(*)>1 )))
ORDER BY fie1dl1;
关于如何解决这个问题有什么想法吗?
谢谢!
(写为答案只是因为作为评论会很乱-如果提供了要求可能是答案)
我不使用访问权限,但据我所知,不支持对长文本进行分组。 作为解决方法,如果您的长文本数据可以在其前 255 个字符中识别(access 支持 255 的短文本长度?为了安全起见,我们假设 250):
SELECT *
FROM table1
WHERE left([field1],250) In (SELECT left(field1,250)
FROM [table1]
GROUP BY left([field1],250) HAVING Count(*) > 1 )
ORDER BY field1;
PS:如果access有CheckSum计算功能,那么可以用它来比较,而不是Left(field1, 250)。