我编写了一个SQL查询,该查询将获取名称和大小的重复项:
SELECT t1.Filepath,
t1.splitFilePath1(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(Filepath) = t2.splitFilePath1(Filepath)
在上面的查询中,splitFilePath1(Filepath)是一个用户定义的函数,该函数将Filepath作为输入并返回文件名。接收到文件名后,我必须查找文件名和大小的重复项。
收到错误:
Near'(':语法错误
我无法理解它到底在哪里期望'('。
编辑:解决了!
查询:
从Filemanager t1内连接中选择Filepath,splitFilePath1(Filepath)(选择Filepath作为Filepath1,splitFilePath1(Filepath),从Filemanager GROUP BY splitFilePath1(Filepath)中选择大小,大小HAVING COUNT(*)> 1)t2在t1上.Size = t2。大小AND splitFilePath1(t1.Filepath)= splitFilePath1(t2.Filepath1)
感谢lollato!
最佳答案
将t1.splitFilePath1(Filepath)
更改为splitFilePath1(t1.Filepath)
,其他情况也类似。 t1.splitFilePath
将引用t1
中的列,并且在语法错误后具有()
括号。