Если пункт в sql - PullRequest
       2

Если пункт в sql

0 голосов
/ 26 июня 2019
Declare @a varchar(100); 

If @a = select productname from product

Вышеупомянутый запрос выдает ошибку, так как мой SQL-запрос (выберите название продукта из продукта) возвращает несколько значений.

Может ли кто-нибудь помочь мне с этим?

Ответы [ 2 ]

1 голос
/ 26 июня 2019

Попробуйте что-то вроде:

Declare @a varchar(100); 
SELECT @a = 'MyProduct'

Тогда либо

If @a = select TOP 1 productname from product ORDER BY <some field>

ИЛИ

If @a IN (select productname from product)

Однако, как вы узнаете, какие продукты соответствуютк;вам может понадобиться предложение WHERE.Некоторые данные образца и желаемые результаты помогут.

0 голосов
/ 26 июня 2019

Обратите внимание, что в этом случае вам нужно поместить запрос SELECT в круглые скобки!Также следует отметить, что ваш запрос на выборку в этом случае не должен возвращать более одного значения.Таким образом, чтобы решить их, вам нужно записать это как:

Declare @a varchar(100); 

If @a = (select TOP 1 productname from product)

Однако ваш запрос логически кажется недействительным, и вы должны подумать об этом, например, вы должны сказать, что вы собираетесь проверить @aс каким продуктом?Возможно, вам понадобится добавить несколько фильтров для запроса и / или добавить ELSE к вашему if и т. Д.

Вам также может понадобиться прочитать ответ @ PeterSmith (Использование IN ...)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...