2012-02-09 186 views
2

如何通過組合IN和LIKE來編寫select查詢 我有一個子查詢,它返回一些記錄,而我必須從另一個表中選擇記錄。 問題是我必須像子查詢 的結果recors子句中使用下面是什麼即時試圖從工資表,我需要它匹配僱工表的名稱記錄做SQL SELECT IN with like

select * from salary where employeename like (select name from employee) 

一個例子。我需要使用LIKE。 有人可以幫我請

+1

http://stackoverflow.com/questions/3014940/is-there-a-combination-of-like-and-in-in-sql – Romeo 2012-02-09 04:37:41

回答

15

我會去用join而不是in ...雖然與通配符這將是一個充滿反正表掃描:

select distinct s.* 
from salary s 
join employee e on s.employeename like '%' + e.name + '%' 
0

檢查了這一點。

select * from salary where emp_name like '%aj' 
+0

這並不正確解析(你需要用字符串分隔符和不該沒有結果。),表錯了(並且你錯過了另一張表),我不清楚爲什麼你會有一個通配符但不是尾隨的。 – 2012-02-09 04:43:53

+2

@AaronBertrand部分是我的錯 - 當我用代碼標籤封裝查詢時,尾隨的'.'是我的錯。我不會因其餘部分而獲得功勞... – 2012-02-09 04:48:57

+3

但是,如果您需要Nicki Minaj的薪水,這將非常有效。 – 2012-02-09 04:55:19