如何修复“多部分标识符...无法绑定”

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何修复“多部分标识符...无法绑定”相关的知识,希望对你有一定的参考价值。

我有一些代码会抛出此错误,我已在功能本身中声明了它

 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

所以请确保名称拼写正确

以上是关于如何修复“多部分标识符...无法绑定”的主要内容,如果未能解决你的问题,请参考以下文章

Crystal Reports中的“多部分标识符无法绑定”与SQL表达式/子查询

如何修复重叠的片段

如何修复空白片段?

SQL Server 2008 使用 case 语句查看错误

如何从片段 KOTLIN 中调用意图 [重复]

如何修复“代码应明确检查权限是不是可用”错误