Сложный запрос

demo_user

Народ как сделать, есть таблица, в ней три столбца: техника, марка, год.В столбце техника может быть : автомобиль, может мотоциклВ столбце марка : соответственно марка автомобиля или марка мотоцикаВ столбце год : Выпуск техники.как написать запрос : если данные можно будет искать : по технике и/или марка и/или год.т.е. что бы можно было сортировать только по технике, или можно сортировать по технике + марка, ну или техника + марка + год.P.S. Mssql2005я написал что то вроде@auto= 'car' @model = 'audi'@year = 1999select * from table where (auto = @car and @car is not null) and (model = @model and @model is not null)Но не работает.
6 ответов

demo_user

так и не понял, что вам нужно?!


demo_user

WHERE auto=isnull(@car,auto) and model = isnull(@model,model) ---?


demo_user

Knyazev Alexey,Мне надо из таблицы вытащить данные. Но параметры для поиска может быть 1, может быть 2, а может быть 3. т.е. поиск может производится только по технике, или поиск может проходит по техника + марка и третий вариант техника + марка + год.


demo_user

---2 вариант where (auto=@car or @car is null) and ....


demo_user

---2 вариант where (auto=@car or @car is null) and ....
спасибо!Будем побывать.


demo_user

Я бы еще предложил провести декомпозицию вашей таблички... Все таки вторую нормальную форму не зря придумали... ---------------------------------------------------------- Ну вы тут и нафлудили! - сказал Геракл, зайдя на Авгиев форум...