2017-02-13 30 views
0

2つのSQL Serverテーブルがリンクされていない(結合なし)ので、2番目のテーブルのデータを最初のテーブル。私が何をしたいかSQL最初のテーブルのデータに基づいて2番目のテーブルのデータを返します。

表1

id name 
---------- 
4 BOX-A 
8 PART-D 

表2

id name 
------------ 
14 BOX-A1 
25 BOX-A2 
38 TOOL-A1 
39 TOOL-A2 
40 PART-D1 
41 PART-D2 

が表1で見つかったそれぞれの名前のために、私はすべて返すようにしたいということです:最初の表では、私はこれを持っています表2での試合、最後に私はこのようなものがありますので:あなたが使用することができます

id name 
----------- 
14 BOX-A1 
25 BOX-A2 
40 PART-D1 
41 PART-D2 
+0

あなたは非連動のDBを扱っている場合は、[OPENDATASOURCE]使用を検討してください(https://msdn.microsoft.com/en-us/library/ms179856.aspx)に接続します非リンクデータベース。これにより、接続文字列情報を渡して、2番目のデータベース/テーブルにアクセスすることができます。 – Ethilium

答えて

2

joinまたはexists

select t2.* 
from table2 t2 
where exists (select 1 from table1 t1 where t2.name like concat(t1.name, '%')); 
+0

優秀!私はちょうど修正を追加したい:concat(t1.name、 '%')ではなく、concat(t2.name、 '%'):) – Kivo

+0

@Kivo。 。 。ありがとうございました。 –

関連する問題