2016-11-08 189 views
0

我不能得到這個SQL查詢來更新我的數據庫活動表。這是我的查詢: -連接在哪裏條款

UPDATE Activities 
SET CJSID = CJSEmpNum.StaffNumber 
FROM CJSEmpNum 
Where Activites.Name = CJSEmpNum.Surname + " " + CJSEmpNum.Forename 

我認爲我的問題是where子句。活動編號名稱存儲爲史密斯約翰和CJSEmpNum它存儲在兩個單獨的列Surname和Forename中。

+1

'我認爲我的問題是Where子句......它當然是因爲你的查詢可以是SQL注入的。請向我們展示實際的代碼,而不是提取的查詢。 –

+1

@TimBiegeleisen你確定嗎?我不確定這個問題與C#有什麼關係 - 目前尚不清楚。 – DavidG

+0

這是純粹的SQL,而不是C#?請正確標記您的問題。你有任何錯誤,或只有0行更新?你可以做一個'Select'來檢查'Activites.Name'和'CJSEmpNum.Surname +「」+ CJSEmpNum.Forename'的確切內容嗎? –

回答

0

你有沒有試圖使這個內部聯接?喜歡的東西...

UPDATE 一個 SET
A.CJSID = CJSEmpNum.StaffNumber FROM CJSEmpNum INNER JOIN 活動A ON A.Name = CJSEmpNum.Surname + '' + CJSEmpNum.Forename

+0

你的答案中的單引號之間需要一個空格。 –

1

試試這個:

UPDATE A 
SET CJSID = C.StaffNumber 
FROM Activities A 
INNER JOIN CJSEmpNum C ON A.Name = RTRIM(LTRIM(C.Surname)) +' '+ RTRIM(LTRIM(C.Forename)) 
+0

謹慎評論爲什麼選票不對? –