Sql 在重复查询中找不到用户定义的函数

Sql 在重复查询中找不到用户定义的函数,sql,sqlite,duplicates,Sql,Sqlite,Duplicates,我有一个按名称和大小提取重复项的查询。该名称将由用户定义的函数splitFilePath1Filepath检索,其中Filepath是表的一列。下面是我的查询 SELECT Filepath,splitFilePath1(t1.Filepath) FROM Filemanager t1 INNER JOIN (SELECT splitFilePath1(Filepath),Size FROM Filemanager GROUP BY splitFilePath1(Filepath), Size

我有一个按名称和大小提取重复项的查询。该名称将由用户定义的函数splitFilePath1Filepath检索,其中Filepath是表的一列。下面是我的查询

 SELECT Filepath,splitFilePath1(t1.Filepath) FROM Filemanager t1 INNER JOIN (SELECT splitFilePath1(Filepath),Size FROM Filemanager GROUP BY splitFilePath1(Filepath), Size HAVING COUNT(*) > 1) t2 ON t1.Size = t2.Size AND t1.splitFilePath1 = t2.splitFilePath1
错误:找不到t1.splitFilePath1

编辑1:

SELECT splitFilePath1(Filepath) FROM Filemanager t1 INNER JOIN (SELECT Size,splitFilePath1(Filepath) FROM Filemanager GROUP BY splitFilePath1(Filepath),Size HAVING count(*) > 1) t2 ON splitFilePath1(t1.Filepath)= splitFilePath1(t2.Filepath) AND t1.Size=t2.Size
错误:找不到t2.Filepath。

猜测在查询结束时应将t1.splitFilePath1替换为splitFilePath1t1.Filepath。我认为在第一次查询中,表中没有列

,t2不是表,而是子查询,因此只有当列t2.xxx出现在选择列表中时,才能访问该列

要访问splitFilePath1Filepath的值,请为其命名:

选择文件路径, splitFilePath1t1.Filepath 来自文件管理器t1 内部连接选择splitFilePath1Filepath作为splitFilepath, 大小 来自文件管理器 按拆分文件路径1文件路径分组, 大小 计数*大于1 t2的 在t1上。大小=t2。大小和 splitFilePath1t1.Filepath=t2.splitFilepath
已编辑查询:从Filemanager t1中选择splitFilePath1Filepath内部联接选择大小,按splitFilePath1Filepath从Filemanager组中选择splitFilePath1Filepath,在splitFilePath1t1.Filepath=splitFilePath1t2.Filepath和t1.Size=t2.Size上有count*>1 t2的大小我正在接收t2.Filepath未找到错误。是的,该表没有Filename列,因此我使用的是用户定义的函数。@user3264565:将其附加到您的帖子中。可能存在重复的