Я присоединяюсь к нескольким таблицам. С одним из моих соединений (от 1 до многих) я хочу показать результаты, только если объединенная таблица имеет хотя бы одну строку, где существует определенное значение.SQL Server 2000 соединяется с условием подсчета
Этот пример исключает других соединений, поэтому для простоты:
SELECT
c.Name, r.RoleID, r.RoleName
FROM
Contact c
INNER JOIN
Role r ON r.ContactID = c.ID
Контакт А может иметь много ролей. Я хочу показать все роли для контактов, но получить только контакты, в которых хотя бы одна роль имеет RoleID = 4. Я пробовал несколько вещей, но пока ничего не добился. Если это имеет значение, это на SQL Server 2000.
Я расширил масштабы этой проблемы в этот новый вопрос: SQL Server 2000 condition on joined table
Sql Server 2000 - это минус конец жизни. Это означает, что он больше не получает никаких обновлений ... _ даже не критические исправления безопасности! Опасно и безответственно продолжать его использовать. Обновление этого сервера - задание # 1. –
Я не мог согласиться с вами больше, и этот сервер должен быть обновлен другим отделом в конце года. – Kershaw
Я включил проблему в этот новый вопрос: http://stackoverflow.com/questions/38839917/sql-server-2000-condition-on-joined-table – Kershaw