MySQL SQL несколько - PullRequest
       3

MySQL SQL несколько

0 голосов
/ 03 января 2019

У меня проблема с моим запросом.Я не знаю, как правильно написать.

Теперь у меня есть:

SELECT i.bpm_id
FROM t_bpm_process i
WHERE NOT EXISTS
(
    SELECT 1
    FROM t_rfp_proposal r
    JOIN t_rfp_request AS rfp ON rfp.rfp_id=r.rfp_id 
    WHERE r._astat_code ='awr'
    AND r.status_code!='del'
    AND rfp.bpm_id=i.bpm_id
)

В одном ударов в минуту у нас есть много предложений с уникальным идентификатором.Я хочу показать только rfp_id, который не имеет astat_code = 'awr'.

Например, у меня есть:

    prop_id rfp_id  _astat_code
    3,400   4,599   shr
    3,401   4,599   shr
    3,398   4,600   shr
    3,399   4,600   shr
    3,402   4,601   shr
    3,403   4,601   awr

Я хочу показать только rfp_id 4599, 4600.

Формула должна быть универсальной.Потому что будет, например, 12 rfp_id, поэтому его нельзя сделать только за 3 rfps.Вы можете мне помочь?

Ответы [ 3 ]

0 голосов
/ 03 января 2019

это должно сработать

select i.bpm_id
from   t_bpm_process  i,
       t_rfp_proposal r,
       t_rfp_request  rfp
where  rfp.bpm_id     = i.bpm_id
and    r.status_code != 'del'
and    r._astat_code  = 'awr'
0 голосов
/ 03 января 2019
SELECT i.bpm_id
FROM   t_bpm_process i
LEFT JOIN
  (
    SELECT rfp.bpm_id
    FROM   t_rfp_proposal r
    JOIN   t_rfp_request rfp ON rfp.rfp_id=r.rfp_id 
    WHERE  r._astat_code ='awr'
      AND  r.status_code!='del'
  ) AS t ON i.bqm_id = t.bqm_id
WHERE t.bqm_id IS NULL
0 голосов
/ 03 января 2019

Вы можете попробовать использовать NOT IN

SELECT i.bpm_id
FROM t_bpm_process i
where i.rfp_id NOT IN (
  select rfp_id  
  from t_bpm_process
  where astat_code='awr'
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...