简体   繁体   中英

Error Message: Incorrect Syntax near'.'. in SQL Server

I write query am not find out the error in this query, please help me..

I am getting error:

Error Message.Incorrect Syntax near'.'. error

for my query:

SELECT     
   dbo.EP_UserDetails.UserID, dbo.EP_UserDetails.EmpID, 
   dbo.EP_UserDetails.FirstName dbo.EP_UserDetails.LastName AS Name, 
   dbo.EP_LeaveManagement.LeaveType, dbo.EP_LeaveManagement.NoOfDays, 
   dbo.EP_LeaveManagement.LeaveAppliedFromDate, 
   dbo.EP_LeaveManagement.LeaveAppliedToDate, dbo.EP_User.MangerUserID
FROM         
   dbo.EP_User 
INNER JOIN
   dbo.EP_UserDetails ON dbo.EP_User.UserID = dbo.EP_UserDetails.UserID 
INNER JOIN
   dbo.EP_LeaveManagement ON dbo.EP_User.UserID = dbo.EP_LeaveManagement.UserID

Comma needed between FirstName and dbo.EP_UserDetails. Or if you are trying to concatenate the two for full name you need to do that. Can't just have a space. I believe in SQLServer it's + sign.

Add comma between dbo.EP_UserDetails.FirstName,dbo.EP_UserDetails.LastName

SELECT     dbo.EP_UserDetails.UserID, dbo.EP_UserDetails.EmpID, dbo.EP_UserDetails.FirstName,dbo.EP_UserDetails.LastName AS Name, 
                      dbo.EP_LeaveManagement.LeaveType, dbo.EP_LeaveManagement.NoOfDays, dbo.EP_LeaveManagement.LeaveAppliedFromDate, 
                      dbo.EP_LeaveManagement.LeaveAppliedToDate, dbo.EP_User.MangerUserID

As Leeish told comma is missing that's it is generating problem, but my personal suggestion in this case please create table alias and use it as below:

SELECT     dbo.EUD.UserID, dbo.EUD.EmpID, dbo.EUD.FirstName, dbo.EUD.LastName AS Name, 
                      dbo.ELM.LeaveType, dbo.ELM.NoOfDays, dbo.ELM.LeaveAppliedFromDate, 
                      dbo.ELM.LeaveAppliedToDate, dbo.EU.MangerUserID
FROM         dbo.EP_User  EU INNER JOIN
                      dbo.EP_UserDetails  EUD ON dbo.EU.UserID = dbo.EUD.UserID INNER JOIN
                      dbo.ELM  ELM ON dbo.EU.UserID = dbo.ELM.UserID

The problem in your question is you are missing + sign to contact two field Firstname and Lastname.

Try this.

SELECT     dbo.EP_UserDetails.UserID, dbo.EP_UserDetails.EmpID, dbo.EP_UserDetails.FirstName + dbo.EP_UserDetails.LastName AS Name, 
                  dbo.EP_LeaveManagement.LeaveType, dbo.EP_LeaveManagement.NoOfDays, dbo.EP_LeaveManagement.LeaveAppliedFromDate, 
                  dbo.EP_LeaveManagement.LeaveAppliedToDate, dbo.EP_User.MangerUserID

  FROM         dbo.EP_User INNER JOIN
  dbo.EP_UserDetails ON dbo.EP_User.UserID = dbo.EP_UserDetails.UserID INNER JOIN
  dbo.EP_LeaveManagement ON dbo.EP_User.UserID = dbo.EP_LeaveManagement.UserID

Regards AB Vyas

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM