2016-11-01 9 views
0

私は前に、名前、すなわち後にランダムな文字を持つ列nameを持つテーブルがあります。検索SQL Serverの文字列

Name 
    ----------------- 
    asd4345JONlkj345 
    .;lidDavidlksd$ 

を、私は別のものを持っています名前を持っている同じDB内のテーブルは、IE:

表B

Name 
------ 
David 
Jon 

これは30k行の場合と同じように続きますが、何かをすばやくハードコードしています。表Bの各値の表A「名前」列の各文字列を検索し、見つかった場合は新しい列に名前を戻したいと考えています。

これはUDFになると感じていますが、このシナリオでpatindexを使用する方法がわかりません。それが正しい方法でもあります。あなたがこれだけのためにLIKEオペレータ必要

+1

を私はなぜ説明なしで分未満でダウン投票を理解していませんか?そのような短い時間でどのように問題を理解するには時間がありますか? – user3486773

+0

downvoteは私のものではありませんでしたが、あなたがここで何をしようとしているのかが本当にはっきりしないので、私はそれを確信しています。私たちは一般的な意味を持つことができますが、コードはそのようには機能しません。実際の詳細が必要です。 –

+0

あなたの質問をよりうまく開始するのに最適な場所です。 http://spaghettidba.com/2015/04/24/how-to-post-at-sql-question-on-a-public-forum/ –

答えて

3

select * 
from TableA 
inner join TableB on TableA.Name like '%' + TableB.Name + '%' 
+0

likeを使用する必要はありません。ちょうどその説明に基づいてOKです。 。 – urlreader

+0

@urlreader "00000David00000"は、 "="を使って "David"とどのように一致しますか? – SlimsGhost

+0

名前の前後に「ランダムな文字」が表示されませんでした。申し訳ありません。 – urlreader

1
select B.Name, A.Name from tableA A inner join join tableB B 
    on rtrim(ltrim(B.Name)) like '%' + rtrim(ltrim(A.Name)) + '%' 
関連する問題