我有一些代码会抛出此错误,我已在功能本身中声明了它
IF @Functionality='UserDetails'
BEGIN
SELECT TOP 10 ROW_NUMBER() OVER(ORDER BY USR.USERBADGENO ASC) AS SNO,
USR.USERBADGENO,
USR.FIRSTNAME + ' ' + USR.LASTNAME AS USERNAME,
ISNULL(CONVERT(NVARCHAR(100),LST.LASTLOGIN), 'NO LOGS FOUND') AS LASTACCESSED,
APP.NAME AS APPNAME,
URD.USERROLECODE
FROM USERMASTER USR
INNER JOIN USERROLEDETAILS URD
ON URD.USERROLECODE = USR.USERROLE
INNER JOIN APPLICATIONS1 APP
ON APP.APPID = URD.APPID
LEFT JOIN LASTLOGINDETAILS LST
ON LST.USERID = USR.USERBADGENO
AND LST.APPID = APP.APPID
WHERE APP.APPID = @APPID
AND URD.USERROLECODE = @USERROLE
ORDER BY LST.LASTLOGIN DESC
END
我希望输出在网格视图中显示应用程序中最近三个月的记录
完整的错误消息:
消息4104,级别16,状态1,行1无法绑定多部分标识符“LST.LASTLOGIN”。消息4104,级别16,状态1,行1无法绑定多部分标识符“APP.NAME”。消息4104,级别16,状态1,行1无法绑定多部分标识符“URD.USERROLECODE”。
该
错误无法绑定多部分标识符xxxxxx
在查询中给出的列不存在时抛出。当编译器尝试编译查询时,它将搜索该列,并且由于列不存在,因此不会编译查询。因此,请确保您已正确拼写列名称。如果您给出了错误的别名,也可能发生这种情况,
例如:
我在User Table中有一个Column UserName,在Employee表中有EmployeeName。所以这个查询会起作用
SELECT UserName FROM User
SELECT EmployeeName FROM Employee
但相反,如果我尝试以下它将失败
SELECT UserName FROM Employee
SELECT EmployeeName FROM User
所以请确保名称拼写正确