Использование базы данных SQL Server 2016 SP1 У меня есть эти данные в имени таблицы AgentsTable:
SELECT * FROM AgentsTable;
user_id first_name last_name agent_id agent_status agent_code
2003015038088 John Brown 22307 Retired 12345
2003015038088 John Brown 22307 Death 12399
4432442556456 Mary Jane 24667 Active 32133
7746234737464 Harry Smith 29981 Retired 42354
3455555657677 Mark Aguy 29654 Active 34655
5436546674465 Sally Sam 22584 Retired 45464
Вторая строка показывает, что «Джон Браун» мертв (agent_status = «Смерть»), поэтому я хотел бы исключить все строки для этого agent_id, который мертв. (Обратите внимание, что у Джона Брауна есть два разных кода агента, поэтому для каждого кода агента есть одна строка. Вот как исходные данные ...)
Этот запрос:
SELECT * FROM AgentsTable WHERE agent_status = 'Пенсионер';
Вернет это:
user_id first_name last_name agent_id agent_status agent_code
2003015038088 John Brown 22307 Retired 12345
7746234737464 Harry Smith 29981 Retired 42354
5436546674465 Sally Sam 22584 Retired 45464
Я хочу получить результат, исключающий Джона Брауна (22307):
user_id first_name last_name agent_id agent_status agent_code
7746234737464 Harry Smith 29981 Retired 42354
5436546674465 Sally Sam 22584 Retired 45464
Как мне этого добиться? Другими словами, как я могу исключить одну строку на основе значения в другой связанной строке?