SELECT DISTINCT ae.c_id,
eng.e_id,
ab.b_id,
a.*
FROM account a
INNER JOIN acct_c_id_assoc ae
ON a.acct_id = ae.acct_id
INNER JOIN acct_e_id_assoc eng
ON a.acct_id = eng.acct_id
LEFT OUTER JOIN acct_b_id_assoc ab
ON a.acct_id = ab.acct_id
WHERE a.inactv_sts = 'N'
AND ae.inactv_sts = 'N'
AND ae.sys_id = 5
AND eng.e_id = '101'
AND a.acct_id NOT IN (SELECT acct_id
FROM acct_b_id_assoc) ORDER BY a.create_dtm DESC
Там 4 таблицы: идентификатор учетной записи PK,
Entitiles (E_ID_asso c) - идентификатор ac PK и FK, E_ID PK & FK,
ядер (C_ID_asso c) - идентификатор ac PK & FK, C_ID PK & FK
Преимущества (B_ID_asso c) - идентификатор действия PK & FK, B_ID PK & FK
мне нужно выбрать все учетные записи с уникальным C_ID (основной идентификатор не должен повторяться для нескольких учетных записей) с указанием c прав то есть 101 и не должен иметь B_ID (никаких преимуществ для учетной записи)
выше - это запрос, который я пробовал, но я получаю учетные записи с тем же идентификатором ядра
// a.inactv_sts = 'N' и ae.inactv_sts = 'N' и ae.sys_id = 5 эта строка означает, что учетная запись активна, связана с каким-то основным идентификатором
Может кто-нибудь помочь мне с этим