Я хочу отобразить список лиц, которые активны только для одного приложения, начинающегося с буквы «a», а все остальные приложения должны быть «ОТКЛЮЧЕНЫ». Идентификатор человека находится в одной таблице, а сведения о приложении будут в другой таблице.
Необходимо выбрать идентификатор человека, который удовлетворяет следующему условию. Я приложил результаты модели, в которой я присоединился к трем таблицам. Мне нужно выбрать пользователя, как показано ниже (выделено),
person_id - это первичный ключ.
Запрос используется следующим образом:
SELECT * FROM (select p.person_id from ur_username u join ur_username_person up on u.username_id=up.username_id
join ur_person p on up.person_id=p.person_id
WHERE ( U.USERNAME LIKE 'A-%' OR U.USERNAME LIKE 'a-%')
AND u.status='ACTIVE' AND U.ROLE_ID =123 ) E
WHERE p.person_id IN ( select p.person_id from ur_username u join ur_username_person up on u.username_id=up.username_id
join ur_person p on up.person_id=p.person_id
WHERE ( U.USERNAME NOT LIKE 'A-%' OR U.USERNAME NOT LIKE 'a-%')
AND u.status='DISABLED' AND U.ROLE_ID =123 )
Я также получаю человека, который активен в любом другом приложении.
В приведенной выше таблице я хочу, чтобы имя пользователя a-pri (начинается с a-) также со статусом «АКТИВНЫЙ», все остальные статусы для идентификатора приложения 123 отключены. для этого идентификатора 123 не активны никакие другие имена пользователей.