2013-10-04 41 views
-4

執行以下查詢時,它顯示錯誤,「關鍵字'ON'附近的語法錯誤。」關鍵字'ON'附近的語法錯誤

string query = "SELECT Employee_Master.Employee_Code AS 'EmployeeCode', 
     Employee_Master.Employee_ID AS'Employee_ID', 
     Employee_Master.FIRST_NAME +' '+ ISNULL(Employee_Master.MIDDLE_NAME,'') +' ' +Employee_Master.LAST_NAME AS'emp_Name', 
     Task_Master.Task_Code AS'Task_Code', 
     Task_Master.Task_Name AS'Task_Name', 
     Task_Completion_Status_Master.Task_Complition_Status_Name AS 'Task_status', 
     Work_Submission_Master.Submission_Date AS'Submission_Date' " + "FROM Work_Submission_Detail INNER JOIN"+ "Work_Submission_Master ON Work_Submission_Detail.Work_Submission_ID = Work_Submission_Master.Work_Submission_ID INNER JOIN"+ "Task_Master ON dbo.Work_Submission_Detail.Task_ID = Task_Master.Task_ID INNER JOIN"+ "Task_Completion_Status_Master ON "+ "Work_Submission_Detail.Completion_Status = Task_Completion_Status_Master.Task_Complition_Status_ID INNER JOIN"+ "Employee_Master ON Work_Submission_Master.Employee_ID = Employee_Master.Employee_ID"; 
+3

提示:格式(讀:讓自己看起來比這更漂亮),並直接在您的SQL Server環境中運行它。你更有可能看到這樣的錯字錯誤。 –

回答

4

你需要後INNER JOIN

INNER把空間JOIN 「+」 Work_Submission

應該

INNER JOIN "+ "Work_Submission 

無論您使用了INNER JOIN,你錯過了那個空間。所以把它放在任何你使用過的地方。

使用如此大的內聯查詢,我建議您使用Stored Procedure而不是內聯查詢,這將幫助您輕鬆地編寫查詢以及可讀性,同時減少輸入錯誤的機會。

+0

facepalm程序員 – Andrei

0

與嵌入式查詢工作時,試試這個

string strqry = "SELECT EM.Employee_Code as 'EmployeeCode', EM.Employee_ID as'Employee_ID', EM.FIRST_NAME +' '+ ISNULL(EM.MIDDLE_NAME,'') +' ' +EM.LAST_NAME as'emp_Name', TM.Task_Code as'Task_Code', TM.Task_Name as'Task_Name',Task_Completion_Status_Master.Task_Complition_Status_Name as 'Task_status',WSM.Submission_Date as'Submission_Date' " + 
"FROM Work_Submission_Detail WSD INNER JOIN "+ 
"Work_Submission_Master WSM ON WSD.Work_Submission_ID = WSM.Work_Submission_ID INNER JOIN "+ 
"Task_Master TM ON dbo.WSD.Task_ID = TM.Task_ID INNER JOIN "+ 
"Task_Completion_Status_Master ON "+ 
"WSD.Completion_Status = Task_Completion_Status_Master.Task_Complition_Status_ID INNER JOIN "+ 
"Employee_Master EM ON WSM.Employee_ID = EM.Employee_ID"; 
相關問題