2009-07-16 15 views
-2

私は2つのテーブルT1を持っているとT2.Iは2000年SQL Serverの文字列比較!

表T1

ID WorkerName  Group 
1 Rahim,Karim  1 
2 Kamal,Adam   3 
3 Rahim,Karim  1 

表T2は

WorkerID WorkerName 
1   Rahim 
2   Karim 
3   Kamal 
4   Adam 

は私がT1に労働者の名前を交換したいSQL Serverの使用しましたT2上に1番目のWorkerIDを付けてこのようにします。

表T1

ID WorkerName  Group 
    1  1    1 
    2  3    3 
    3  1    1 

は、このためにどんな解決策はありますか?

+0

誤解を招くタイトル。あなたの質問を "SQL Serverの文字列比較"にするつもりならなぜあなたは文字列比較を実行するのか尋ねていませんか? –

答えて

2
update T1 set WorkerName = T2.WorkerId 
from T1, T2 
where T1.WorkerName like T2.WokerName + ',%' 
+0

アダムあなたはそのクエリで情報を失っています。カンマの後には、別の作業名もあり、これも参照する必要があります。 –

+0

彼は最初の名前だけを気にし、2番目の名前は破棄されています。 –

+0

私はそれを見たとき、彼は両方の名前が必要でした、それ以来編集された履歴をチェックしてください。 –

-2

すべてのレコードに対してテーブルT1で実行されるストアドプロシージャを記述し、カンマ区切りを使用してWorkerNameを分割し、テーブルT2のクエリを実行してテーブルのT1を更新する必要があります。

+0

plz私にSQL構文を送ってください... – Nasir

+0

ストアドプロシージャ、SQLとカーソルの文字列関数を読む – colithium

+0

単純なクエリではないので、コリジウムが何を示唆しているかを知る必要があります。 –