2014-01-17 2 views
-2

таблицы: master_consmnt:нужно Resultset если статус = N, если статус = N и статус = P результат не отображать

fra_code mode  cnum  cost edate  status 
ET7867FRA SURFACE  19001 10.000 2014-01-17 P 
ET7867FRA SURFACE  19005 5.000 2014-01-17 P 
ET7867FRA SURFACE  19005 10.000 2014-01-17 P 
FRANE3981 SURFACE  19005 0.000 2014-01-17 P 
FRARE5664 SURFACE  19005 18.000 2014-01-17 N 
FRARE5664 SURFACE  19001 14.000 2014-01-17 N 
FRARE5664 SURFACE  180001 38.000 2014-01-17 N 

Я хочу ниже результата, пожалуйста, внимательно посмотреть на master_consmnt стол, стол с множественным cnum со статусом = P или N. Нам нужен результирующий набор, который имеет cnum, если не status = "P" и status = "N".

fra_code mode  cnum cost edate   status 
FRARE5664 SURFACE 180001 38.000 2014-01-17 N 
+0

Что такое текущий запрос? С какими проблемами вы сталкиваетесь? –

+0

SELECT * FROM 'master_consmnt' ГДЕ нет (' status' = "N" или 'status' =" P ") –

ответ

1

Вы можете сделать это с помощью not exists:

select mc.* 
from master_consmnt mc 
where mc.status = 'N' and 
     not exists (select 1 
        from master_consmnt mc2 
        where mc2.cnum = mc.cnum and status = 'P' 
       ); 
+0

Это показывает только статус = значение N, не отображающее условную инструкцию, если status = N и status = P, пожалуйста, посмотрите я хочу, если cnum не равен status = P –

+0

, если в нем нет, мы заменяем fra_code на cnum и mc.fra_code с помощью mc.cnum, после чего выводимый результат отображается. –

Смежные вопросы