2015-09-02 5 views
-1

У меня есть 2 текстовых поля, один для ресурса, а другой - для местоположения.Результат поиска хранимая процедура

В настоящее время, что я сделал, я создал хранимую процедуру для отображения результатов поиска. Моя проблема в том, давая ресурс это забирающее соответствующий ресурс, но и с другим ресурсом, которые соответствуют с адресом

Например:

Если я ищу салон в Индии отображающая результаты которых находится в месте (Индия), а также отображать больницы, школы и т.д.

Предположим, что:

textbox 1: Saloon 
textbox 2: India 

Если я даю, как это мои результаты поиска приходят

результат поиска

Resource : Naturals - India's No: 1 
Location : India 

Resource : Apollo Hospitals 
Location : India 

Resource : Sahyadri School 
Location : India 

как решить эту проблему ??

хранимая процедура:

@SEARCH NVARCHAR(100) = NULL, 
@loc NVARCHAR(100) = NULL 
as 
select * 
from tblBusinessCategory as b 
    inner join tblUser as u on b.BusinessID=u.BusinessCategoryId 
    inner join tblAddress as a on u.AddressId=a.AddressID 

where a.City = @loc OR a.State = @loc 
     OR b.BusinessName LIKE '%' + @SEARCH + '%' 
Order By case when b.BusinessName = @SEARCH then 0 else 1 end 
+0

вам необходимо предоставить входные данные для обоих текстовых полей - Ресурс и местоположение? – Abhishek

+0

Используйте 'и' вместо' или 'между условием' resouces' и 'locations' – Lali

+0

Да Абшишек 2 текстовых поля необходимо заполнить – Jajin

ответ

0

Попробуйте добавить это где:

where (@SEARCH IS NULL or (b.BusinessName LIKE '%' + @SEARCH + '%')) 
    and (@loc IS NULL or (a.City = @loc OR a.State = @loc)) 

Простой Exemple here

+0

Указанный листинг из материализованного типа «System.Double» в тип «System.String» недопустим. Сведения об исключении: System.InvalidOperationException: указанный листинг из материализованного типа «System.Double» в тип «System.String» недопустим. Источник ошибок: использованием (SYTEntities контекста = новые SYTEntities()) { см = context.Database.SqlQuery ("search_filter_sp Exec @ НАЙТИ, @ LOC", параметр) .ToList(); – Jajin