как получить запись против того же User_Id - PullRequest
0 голосов
/ 22 января 2020

enter image description here

Я хочу получить все записи пользователей, которые прошли один курс и появляются в другом курсе с Isactive = 'N'.

Как показано ниже

enter image description here

Ответы [ 2 ]

1 голос
/ 22 января 2020

Хммм. , , оконные функции являются одним из методов. Это предполагает, что курс находится только в одной строке таблицы:

select t.*
from (select t.*,
             sum(case when status = 'Completed' then 1 else 0 end) over (partition by user_id) as num_completed,
             sum(case when status <> 'Completed' and IsActive = 'N' then 1 else 0 end) over (partition by user_id) as num_noncompleted_inactive
      from 
     ) t
where num_completed > 0 and num_noncompleted_inactive > 0;
0 голосов
/ 22 января 2020

Попробуйте это:

select * from test where user_id in (
select user_id from test where isactive='N' and status in ('Completed','New') and 
(user_id,coursenumber) 
in (select user_id,max(coursenumber) from test where status='New' group by user_id) 
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...