Я работаю со столом, полным заказов клиентов онлайн.Каждый заказ имеет балансовую единицу, которая может быть «09», «07», «04», «03» и «01».Каждый заказ имеет номер заказа, который выглядит примерно так: «90180628».Вы можете определить, из какой компании поступил заказ, по первому номеру его номера заказа.Таким образом, этот заказ относится к компании 09, а этот «31610629» будет номером заказа для компании «03»
. До того, как я получил доступ к таблице, в которой было прямое представление о том, из какой компании поступил каждый заказ, выглядел мой пункт WHERE.как это.
WHERE
(O.Company_Code = @CompanyCode OR @CompanyCode IS NULL) AND
(O.Division_Code = @DivisionCode OR @DivisionCode IS NULL) AND
o.Customer_Number = 'ecom2x' AND
o.Customer_Purchase_Order_Number not like '%bulk%' AND
o.DateRecordModified BETWEEN @FromDate AND DATEADD(dayofyear, 1, @ToDate)
Где @CompanyCode - параметр, который выбирает пользователь (поскольку это отчет) и т. Д.
Однако сейчас я использую другую таблицу и не могу получить доступ к O.Company_Code, поэтому мне нужно проверить код компании по номеру заказа.
Так что было бы что-то вроде этого
Where SH.Packslip like 'substring(@CompanyCode,2,1)%'
Это псевдокод, который не работает, но это идея.Кто-нибудь знает, как превратить это в функциональный код?Может быть, я должен сделать это в двух частях, где в первой части я объявляю новую переменную и устанавливаю ее равной второй символьной подстроке, а затем проверяю, начинается ли packslip с этой новой переменной (так как мне нужно избавиться от 0 в09)