У меня есть таблица с столбцами IDCourse
и IDProvince
; курс может быть передан в разных провинциях. Я хотел бы получить все значения IDCourse
, которые не передаются в заданном ProvinceID
.Запрос SQL Server для фильтрации строк не содержит значения
Например.
IDCourse IDProvince
------------------------
1 100
1 102
1 105
2 100
2 108
3 109
3 107
4 100
4 105
4 106
5 102
5 108
Я хотел бы получить все, конечно, не сообщается на IDProvince = 100
, так что результат будет только IDCourse
3 и 5
я мог бы сделать простой запрос, как
Select IDCourse
from MyTable
Where IDCourse not in (Select IDCourse
From Mytable
Where IDProvince = 100)
Но я хочу оптимизировать его, есть ли другой способ, которым я могу выполнить этот запрос? Кстати, это всего лишь пример, запрос на самом деле больше.
Спасибо!
Я использую сервер Sql – user2112420
Вы пробовали «... не в (выберите DISTINCT IDCourse ...)»? –
@GiacomoDegliEsposti: Это действительно имеет значение? Не оптимизирует ли SQL Server лучше?!? – jarlh