На самом деле проблема в том, что, похоже, в вашем столбце [resource] .name есть значения NULL.
Предложение "NOT IN" t-sql не будет работать, если в предоставленном списке значений есть значения NULL.
Это потому, что ваше где будет разрешено как:
[import_Data].name <> 'Resource1' and [import_Data].name <> 'Resource2'
and [import_Data].name <> null
когда обработчик запросов разрешает [import_Data] .name <> null, он возвращает значение UNKNOWN, а выражение всегда оценивается как false. Следовательно, вы никогда не получите никаких строк.
Например, вы всегда получите 0 строк, если вы выполните
select * from [import_Data] where [import_Data].name <> null
Итак, учитывая это, следующий запрос, вероятно, будет работать в вашем случае:
select * from [import_Data]
where [import_Data].name not in (
select [resource].name from [resource] where IsDeleted = 0
and [resource].name is not null
) and [import_Data].ProviderTypeID = 4