2017-02-08 4 views
-3

У меня есть таблица, как этотMultiple Статья

ID Process Work 

A1 | 0 |  Done                                    
A1 | 1 |  Progress                                    
A2 | 0 |  Done 

мне нужно для вывода A1. Значение ID только того, что работает, когда Process = 0 и Work = 'Done'.

Как использовать несколько операторов И в том месте, где это условие?

+0

, что вы пробовали до сих пор ?? –

+0

дайте свой ожидаемый результат. И уточните –

+0

'SELECT * FROM mytable WHERE (process = 0 AND work = 'Done') ИЛИ (процесс> 0 AND Work = 'Progress')' – SMA

ответ

0

вы можете иметь простой запрос, как

Select * from table where (process = 0 AND work = 'Done') and (work ='Progress' and process > 0) 

, безусловно, даст вам A1

0

Благодаря вашему описанию «будет выводиться только A1, так как для процесса> 0 А2 и А3 имеют работы = Done», я предположим, что требование на самом деле следующее:

«Получить только те записи с process = 0 и work = done, где нет другого процесса> 0 с work = done (и тем же идентификатором)».

Это может быть выражено в SQL следующим образом:

select t1.* from table t1 where (t1.process = 0 AND t1.work = 'Done') 
and t1.id not in (select t2.id from table t2 where t2.process > 0 and t2.work = 'Done')