无法使用用户定义的函数执行sql查询

Unable to execute sql query with user defined function

本文关键字:函数 执行 sql 查询 定义 用户      更新时间:2023-10-16

我写了一个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作为输入并返回filename。收到文件名后,我必须找到重复的文件名和大小。

错误收到:Near'(':语法错误

我无法理解它期望'('的确切位置。

编辑:解决! !查询:SELECT Filepath,splitFilePath1(Filepath) FROM Filemanager t1 INNER JOIN (SELECT Filepath as Filepath1,splitFilePath1(Filepath),Size FROM Filemanager GROUP BY splitFilePath1(Filepath),Size HAVING COUNT(*)> 1) t2 ON t1。尺寸= t2。Size AND splitFilePath1(t1.Filepath) = splitFilePath1(t2.Filepath1)

感谢lollato!!

t1.splitFilePath1(Filepath)更改为splitFilePath1(t1.Filepath),其他事件也类似。

t1.splitFilePath将指t1中的一列,并且在它之后有()父列是语法错误。