SQL: вернуть «true», если список записей существует?

Альтернативный заголовок может быть: Проверить наличие нескольких строк?

Используя комбинацию SQL и C #, я хочу, чтобы метод возвращал значение true, если все продукты в списке существуют в таблице. Если это можно сделать все на SQL, это было бы предпочтительнее. Я написал метод, который возвращает ли одинproductID существует с использованием следующего SQL:

SELECT productID FROM Products WHERE ProductID = @productID

Если это возвращает строку, то метод c # возвращает true, иначе false.

Теперь мне интересно, есть ли у меня список идентификаторов продуктов (не большой список, как правило, младше 20). Как я могу написать запрос, который будет возвращать строку, если все идентификаторы продукта существуют, и нет строки, если один или несколько идентификаторов продукта не существует?

(Maybe something involving "IN" like:
SELECT * FROM Products WHERE ProductID IN ('1', '10', '100', 'ABC'))

РЕДАКТИРОВАТЬ:

Как выражается результат, мне не важно. Возвращает ли запрос1 или же0пустой набор результатов или непустой, истина или ложь не имеет значения. Я бы предпочел ответ: 1) легко читаемый и понятный и 2) эффективный

Я предполагал объединить список идентификаторов продуктов с SQL. Очевидно, что это открывает код до внедрения SQL (идентификаторы продукта на самом делеvarchar, в этом случае шанс невелик, но все же хочется избежать этой возможности). Так что, если есть способ обойти это, было бы лучше. Использование SQL Server 2005.

Идентификаторы продуктаvarchar

Ответы на вопрос(13)

Ваш ответ на вопрос