В первой таблице есть несколько полей, но только PersonId представляет интерес. Вторая таблица имеет «PersEmId» и «PersEmGr».
mysql:
select a.PersonId, b.PersEmId, b.PersEmGR
from PersonRepDb a left join PersEm b
on a.PersonId = b.PersEmId
(conditions to be figured out)
без каких-либо условий, вывод:
1 ABBOT.LE00 ABBOT.LE00 betty
2 ABBOT.LE00 ABBOT.LE00 flutes
3 ACKERBRO00
, поэтому мы видим, что ABBOT.LE находится в двух группах 'betty' и 'flutes', тогда как ACKERBR000 не имеет групп.
Если условие: где PersEmGr = 'flutes', запрос возвращает только ABBOT.LE00, который верно.
Однако я хочу знать, кто не в "флейтах". Если условие является
where PersEmGr != 'flutes' OR PersEmGr IS NULL
, запрос возвращает
1 ABBOT.LE00 ABBOT.LE00 betty <br>
2 ACKERBRO00
ABBOT.LE00 появляется здесь, потому что, хотя он находится в «флейтах», он также находится в 'betty', которая заполняет часть условия! = 'flutes'.
Может кто-нибудь предложить способ написать условие, чтобы запрос выбирал всех, кто не находится в флейтах, независимо от того, находятся ли они в другой группе или нет.