У меня есть 2 параметра поиска.
Я ничего не могу передать, и тогда я должен получить все строки из БД. ИЛИ я могу передать Param1 и получить строку, где
ADB.param1=param1ИЛИ я могу передать Param2 и получить строку, где
ADB.param2=param2ИЛИ я могу передать Param1 и Param2 и получить строку, где
ADB.param1=param1 and ADB.param2=param2
Давайте представим, что у меня есть БД вроде
CarColor, CarType, CarEngineVolume, CarMakeName param1 is CarColor param2 is CarType, если я выбираю БД без отправки параметров, я должен получить весь список строк
красный,седан,2.0,Honda
синий,седан,3.0,Bmw
зеленый,пикап,4.0,Ford
Если я отправлю только param2, например, "седан", я должен получить следующий список
красный,седан,2.0,Honda
синий,седан,3.0,бмв
но если я отправлю оба параметра, например, param1 «красный» и param2 «седан», я должен получить только 1 строку
красный,седан,2.0,Honda
Если я имею дело только с одним параметром в моем where
WHERE ( (ADB.param1 = COALESCE(@param1, ADB.param1))
затем, когда я отправляю param1, я получаю только одну строку и все строки, если param1 имеет значение null и все в порядке
но когда я добавляю вторую проверку параметра
WHERE ( (ADB.param1 = COALESCE(@param1, ADB.param1))
AND (BDB.param2 = COALESCE(@param2 , BDB.param2)) )
Я ничего не получаю при отправке только param1. Но я все еще должен получить 1 строку. Но ничего не получить :(