我有某些代码会引发此错误,并且已经在功能本身中声明了它
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”。
答案 0 :(得分:0)
当查询中给定的列不存在时,抛出错误,无法绑定多部分标识符xxxxxx
。当编译器尝试编译查询时,它将搜索该列,并且由于Column不存在,因此不会编译查询。因此,请确保您正确拼写了列名称。如果您输入了错误的别名,也可能会发生
例如:
我在用户表中有一个列UserName,在雇员表中有EmployeeName。因此,该查询将有效
SELECT UserName FROM User
SELECT EmployeeName FROM Employee
但是,如果我尝试以下操作,它将失败
SELECT UserName FROM Employee
SELECT EmployeeName FROM User
所以请确保名称拼写正确