У меня есть следующий код в SQL-запросе, который я пытаюсь изменить, чтобы он выполнял все значения WhseID
в определенном наборе, а не только один WhseID
, установленный пользователь:Изменение запроса от целочисленного параметра к набору
CREATE PROCEDURE [dbo].[sp_c_IMPriceChangeList]
@WhseID varchar(3),
@CompDate datetime
as
BEGIN
Declare @whseKey int
set @whseKey = (select whsekey from timwarehouse where whseid = @whseid)
Я попытался изменения его:
CREATE PROCEDURE [dbo].[sp_c_IMPriceChangeList_Catalog]
@CompDate datetime
as
BEGIN
Declare @whseKey int
set @whseKey = (select whsekey from timwarehouse
where whseid in ('001','010','011','012','013','014','015'))
Но это дает мне ошибку о том, что подзапрос следующий знак равенства не может возвращать более одного значения. Как я могу сделать необходимые изменения?
Спасибо за помощь.
в вашем подзапрос Телеприставки 1. Но это принесет вам топ 1, которая не может быть разыскиваемый один. –
вам как-то придется использовать цикл, но трудно помочь вам с этим. –
Вы можете установить ТОЛЬКО одно целое число в переменной. Ваш подзапрос возвращает более одного –