Вы на самом деле можете безопасно "виртуально" изменить определение своей таблицы, используя ее в качестве основы для представления:
CREATE VIEW NormalTeams (TeamID, EmployeeID, TeamMemberNumber) AS
SELECT TeamID, Employee1, 1 FROM Employee_TEAM UNION ALL
SELECT TeamID, Employee2, 2 FROM Employee_TEAM UNION ALL
SELECT TeamID, Employee3, 3 FROM Employee_TEAM UNION ALL
SELECT TeamID, Employee4, 4 FROM Employee_TEAM
Теперь NormalTeams позволит вам ВЫБРАТЬ данные так, как вы ожидаете:
SELECT TeamID, MIN(TeamMemberNumber)
FROM NormalTeams T INNER JOIN Employees E ON T.EmployeeiD = E.EmployeeID
WHERE E.City = 'New York'
GROUP BY TeamID
даст вам первый «номер» члена команды для Нью-Йорка.
SELECT TeamID, City, MIN(TeamMemberNumber)
FROM NormalTeams T INNER JOIN Employees E ON T.EmployeeiD = E.EmployeeID
GROUP BY TeamID, City
даст вам более общее решение для каждой комбинации Город / Команда.
Вы можете присоединить эти результаты к NormalTeams, чтобы получить идентификатор сотрудника.