Альтернативное название может быть:
Проверить наличие нескольких строк?
Используя комбинацию 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'))
EDIT:
Как выражается результат, для меня не важно. Возвращает ли запрос 1
или 0
, пустой набор результатов или непустой, true или false, не имеет значения. Я бы предпочел ответ: 1) легко читаемый и понятный и 2) исполнитель
Я предполагал объединить список идентификаторов продуктов с SQL. Очевидно, что это открывает код до внедрения SQL (идентификаторы продукта на самом деле varchar
. В этом случае вероятность невелика, но все же мы хотим избежать этой возможности). Так что, если есть способ обойти это, было бы лучше. Использование SQL Server 2005.
Идентификатор продукта: varchar