У меня есть следующая таблица
VacancyID VacancyName HourRate MarketID
------------------------------------------
1 manager 15 NULL
2 manager 17 1
3 sales 9 NULL
assistant
4 store keeper 12 NULL
5 store keeper 13 1
6 customer 10 NULL
consultant
VacancyID - уникальный идентификатор вакансии
VacancyName - название вакансии
HourRate - часовая ставка
MarketID - уникальный идентификатор рынка, на котором открыта вакансия. Есть отдельная таблица Markets, но для этого вопроса это не имеет значения.
Мне нужно выбрать все отдельные вакансии (по VacancyName) из приведенной выше таблицы для MarketID == 1. Но если какая-то вакансия не открывается вmarket 1, он должен быть взят из строки с MarketID == NULL
Таким образом, для MarketID == 1 результат должен выглядеть следующим образом:
VacancyID VacancyName HourRate MarketID
------------------------------------------
2 manager 17 1
3 sales 9 NULL
assistant
5 store keeper 13 1
6 customer 10 NULL
consultant
В MarketID не существует вакансий продавца-консультанта и консультанта клиента. == 1, поэтому они взяты из MarketID == NULL. (вакансии из строк с MarketID == NULL следует брать, когда такой вакансии нет для конкретного рынка)
Какую команду SQL следует использовать для достижения такого результата?
Примечание: База данныхнаходится на SQL Server 2017.