Sql 在重复查询中找不到用户定义的函数
我有一个按名称和大小提取重复项的查询。该名称将由用户定义的函数splitFilePath1Filepath检索,其中Filepath是表的一列。下面是我的查询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
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:将其附加到您的帖子中。可能存在重复的