сделать запрос не в подзапросе как условие со значением перечисления - PullRequest
0 голосов
/ 26 апреля 2018

у меня есть схема с именем users

user_id state transition

  1.       accept   v1
  1.       refused  v1
  2.       accept   v1
  2.       refused  v2

с no primary key в таблице users и значениями перечисления для state и transition

Мне нужно получить distinct user_id where transition!='v2'

результат, который я хочу

user_id

   1

как user_id=2 имеет transition=v2

Я сделал этот запрос, но он не работает или, по крайней мере, выдает мне дубликат user_id

select  T.user_id from users T 
                         where  T.user_id not 
          in  
(select 1  from users where transition='v2' and users.ad_id=T.user_id 
                                           group by user_id) limit 10;

1 Ответ

0 голосов
/ 26 апреля 2018

Ваш запрос должен выглядеть следующим образом:

select distinct user_id from users where transition != 'v2';

Чтобы ограничить свой результат, просто добавьте limit 10 в конце запроса.


С целью исключить пользователей, которые дважды появляются в таблице с различными версиями перехода - попробуйте это:

select distinct user_id from users where user_id not in (
  select user_id from users where transition = 'v2'
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...