2013-11-08 3 views
0

Я создал модуль для выполнения сверхурочных. В модуле вы выберете своего одобрителя и не более 3 человек.MySQL SELECT If Statement WHERE Условие

Сценарий является то, что я буду показывать все утвержденные овертаймы если manager1_date не NULL, manager2_date не NULL и manager3_date не NULL. Но, как я уже сказал, это может быть только 1,2 или 3 человека. что, если я применяю, то у меня есть только 2 одобряющих лица, должно быть, если manager1_date не NULL и manager2_date не NULL.

Я попробовал этот запрос:

Select * from table1 
where manager1_date is not null 
AND (manager2_date is not null or manager3_date is not null) 

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

+0

Так что просто добавьте это AND к вашему запросу? –

+0

Могу я спросить, в чем разница? Что вы подразумеваете под // без выбора? –

+0

Я отредактировал его сейчас .. Извините за путаницу. –

ответ

0

Я не уверен, понимаю ли я ваш вопрос, но если вам нужно увидеть, когда все три даты менеджера не равны нулю, избавиться от «или».

Select * 
from table1 
where manager1_date is not null 
     AND manager2_date is not null 
     AND manager3_date is not null 
1

Я думаю, вы говорите, что все три менеджера должны одобрить. Если так, то ваш запрос будет:

SELECT * 
FROM table1 
WHERE manager1_date IS NOT null 
AND manager2_date IS NOT null 
AND manager3_date IS NOT null