2014-06-05 34 views
0

我有一個密鑰列表0000-9999。查找是否在另一列中找到密鑰的值

這些密鑰也存儲在另一個領域的評論:

如:

key   comment 

12345  'foobar 45356' 

45356  'foobar 148512' 

什麼我試圖做到這一點是: Select * from Table where comment like (select key from Table)

我有什麼嘗試:

我也試圖使用CONTAINS關鍵字:例如Where comment contains (select....),但是我不能把野生卡....

問:

如何實現什麼我試圖?

回答

3

試試這個:

select 
    CommentTable.comment 
    ,KeyTable.key 
from CommentTable 
join KeyTable 
    on CommentTable.comment like ('%' + KeyTable.key + '%') 

如果關鍵是沒有一個varchar,更換on具有以下

on CommentTable.comment like ('%' + cast(KeyTable.key as varchar(max)) + '%') 
+2

另外請注意,關鍵需要是VARCHAR,否則發動機會嘗試總和而不是連接它們,如果它是一個int,那麼你可以使用'Cast(KeyTable.key as varchar [50])' – PedroC88

+0

好點,我扔在一起的例子是一個字符串,我將它添加到答案。謝謝! – liebs19