Фильтрация базы данных с использованием нескольких условий
У меня есть текстовое поле и 3 выпадающих списка с элементом, который можно выбрать в каждом из выпадающих списков. Есть два сценария фильтрации, которые я хочу реализовать.
1. получение результата фильтрации после ввода значения в текстовое поле и выбора значений в следующих двух текстовых полях, исключая последнее.
2. Получение фильтрации после ввода значения в текстовое поле и выбора значений в трех других выпадающих окнах для фильтрации результата. Мой приведенный ниже код может выдавать каждый из результатов только по одному, если я изменю "и "на" или "и"или "s На"и" s. Может ли кто-нибудь помочь с модификацией или новым запросом, чтобы иметь возможность достичь этих двух сценариев?
Что я уже пробовал:
CREATE proc spSearchProduct @searchWord1OnMasterPage nvarChar(50), @searchWord2OnMasterPage nvarChar (50), @searchWord3OnMasterPage nvarChar (50), @searchWord4OnMasterPage nvarChar (50) as Begin Select Product.Name,Price,Seller,ProductStreetNo.StrNo,ProductStreet.StreetName from Product INNER JOIN ProductStreetNo ON Product.StreetNoID = ProductStreetNo.IDStreetNo INNER JOIN ProductStreet ON Product.StreetID = ProductStreet.IDStreet INNER JOIN ProductState ON StateID=ProductState.IDState INNER JOIN ProductCity ON CityID=ProductCity.IDCity where Product.Name Like '%' + @searchWord1OnMasterPage + '%' and ProductState.StateName Like '%' + @searchWord2OnMasterPage + '%' and ((ProductCity.CityName Like '%' + @searchWord3OnMasterPage + '%' )or (ProductStreet.StreetName Like '%' + @searchWord4OnMasterPage + '%') or (ProductStreet.StreetName is null)) and ((ProductCity.CityName Like '%' + @searchWord3OnMasterPage + '%' )or (ProductStreet.StreetName Like '%' + @searchWord4OnMasterPage + '%') or (ProductStreet.StreetName is null)) End