Как исправить «Многокомпонентный идентификатор .... не может быть связан» - PullRequest
0 голосов
/ 22 апреля 2019

У меня есть определенный код, который выдает эту ошибку, и я объявил его в самой функциональности

 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".

1 Ответ

0 голосов
/ 22 апреля 2019

Ошибка

Не удалось связать многоэлементный идентификатор xxxxxx

, если столбец, указанный в запросе, не существует.Когда компилятор пытается скомпилировать запрос, он будет искать этот столбец, и поскольку столбец не существует, запрос не будет скомпилирован.Поэтому, пожалуйста, убедитесь, что вы правильно написали имена столбцов.Это также может произойти, если вы дали неправильное имя псевдонима,

Например:

У меня есть столбец UserName в таблице пользователей и имеют EmployeeName в таблице сотрудников.Таким образом, этот запрос будет работать

SELECT UserName FROM User
SELECT EmployeeName FROM Employee

Но вместо этого, если я попробую нижеприведенное, он потерпит неудачу

SELECT UserName FROM Employee
SELECT EmployeeName FROM User

Так что, пожалуйста, убедитесь, что имена написаны правильно

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...