2016-11-08 12 views
0

データベースのactivtiesテーブルを更新するためにこのSQLクエリを取得できません。これは私の質問です: -concatenated where句

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

私の問題はwhere句です。アクティビティ番号NameはSmith Johnとして格納され、CJSEmpNumでは2つの別々の列SurnameとForenameに格納されます。

+1

「自分の問題はwhere句です」と言われていますが...確かに、あなたのクエリはSQL注入可能であるためです。抽出されたクエリではなく、実際のコードを表示してください。 –

+1

@TimBiegeleisenそれは本当ですか?私はこの質問がC#と何か関係があるかどうかはわかりません - それはかなり不明です。 – DavidG

+0

それは純粋にSQLであり、C#ではありませんか?あなたの質問に正しくタグを付けてください。エラーが発生するか、0行だけが更新されますか? 'Activites.Name'と' CJSEmpNum.Surname + "" + CJSEmpNum.Forename'の正確な内容をチェックするために 'Select'を実行できますか? –

答えて

0

は、あなたがこのインナー参加作ってみましたがありますか?以下のような何か...

UPDATE SET
A.CJSID = CJSEmpNum.StaffNumber CJSEmpNum INNER FROM 活動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

なぜ票を落とすのか気にする気がする? –