извините за запутанный заголовок.
У меня есть две таблицы, individu
и orgcont
. individu
выглядит примерно так:
individu
-------------
ind_id
org_id
email
orgcont
выглядит примерно так:
orgcont
-------------
ind_id
function_code
У меня много пользователей, которые могут принадлежать к одному и тому же org_id
, и каждый из них имеет свой собственный ind_id
. «Лидеры» org_id имеют код функции «PRIM», все остальные не имеют значения. Я пытаюсь вернуть список org_id
и email
всех пользователей, у которых есть 'PRIM' function code
, у которых есть пользователи, которые имеют NULL адреса электронной почты, которые не являются 'PRIM'.
У меня есть что-то подобное, но результаты не верны. Любая помощь будет оценена:
select
i.email,
i.org_id
from
individu i,
orgcont o,
individu i2,
orgcont o2
where
i.ind_id = o.ind_id
and i.org_id = i2.org_id
and i2.ind_id = o2.ind_id
and o.function_code = 'PRIM'
and o2.function_code != 'PRIM'
and i2.email is NULL