2013-04-23 1 views
0

вхожу некоторые значения по поисковой системе на GUIЗапрос фильтруемых записей из базы данных

Name, Date, State 

Если пользователь не входит какое-либо значение, и нажмите на кнопку «Поиск», он должен получить целая таблица из базы данных. т.е. фильтры не применяются.

Так, например, я написал

Select Name, State, Date from Table where Name='' and State= '' and Date= '' 

Но если я не вводить никаких значений в графическом интерфейсе, никакие записи не извлекаются из БД. Но я хочу, чтобы они действовали как фильтры, а не условия. Я использую DB2

Пожалуйста, предложите мне правильный путь. Спасибо.

ответ

0

Следующий запрос будет правильным для этой цели,

Select Name, State, Date 
from Table 
where (:Name_Var is null OR Name = :Name_Var AND 
     (:State_Var is null OR State =:State_Var) AND 
     (:Date_Var is null OR Date = :Date_Var) 
0

Попробуйте

SELECT Name, State, Date 
FROM 
    Table 
WHERE 
    CASE WHEN ISNULL(@Name,0)=0 THEN 0 ELSE Name END = ISNULL(@Name,0) 
    AND 
    CASE WHEN ISNULL(@State,0)=0 THEN 0 ELSE State END = ISNULL(@State,0) 
    AND 
    CASE WHEN ISNULL(@Date,0)=0 THEN 0 ELSE Date END = ISNULL(@Date,0) 
Смежные вопросы