2012-02-09 2 views
2

Как я могу написать запрос выбора, объединив IN и LIKE У меня есть подзапрос, который возвращает некоторые записи, а записи threse я должен выбирать записи из другой таблицы. проблемы я должен использовать LIKE пункта о результирующих 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

ответ

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

Это не разобрать правильно (вы должны разделители строк и не должен У меня нет конца.), таблица неверна (и вам не хватает другой таблицы), и я не понимаю, почему у вас будет основной шаблон, но не конечный. –

+2

@AaronBertrand Частично моя ошибка - конечная '.' была моей ошибкой, когда я завернул запрос в теги кода. Я не буду брать кредит на остаток, хотя ... –

+3

Однако это будет отлично работать, если вам нужна зарплата Ники Минай. –