我有一个看起来像的表:
orderID Code SubCode
基于代码和子代码,我需要能够提取所有 orderID。
Codes
并且SubCodes
是 varchar 值,我需要能够对其进行“喜欢”,因为例如,对于上述示例,用户可以访问 3% forCode
和 45% for SubCode
for,我将获得所有订单以Code
3SubCode
开头,以 45 开头。
我已经让它Code
像这样工作了:
ALTER PROCEDURE [sp_GetOrders]
-- Add the parameters for the stored procedure here
@codeList varchar(max),
@subCodeList varchar(max)
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
declare @tempTable Table
(
SearchCode varchar(max)
)
insert into @tempTable
select * from dbo.udf_split(@codeList ) as split --this splits comma delimited list 'm passing in
-- Insert statements for procedure here
SELECT orderID from ordert t1
where
exists(
select 1 from @tempTable tt
where t1.userCode like tt.SearchOrg
)
END
上面的方法有效,如果我为 codeList 传递 300%,它会正确返回所有具有以 300 开头的代码的订单 id,但是我现在如何在组合中包含 SubCode?
我想如果我能够将代码和子组织作为 1 个参数传递会更好,以免失去彼此之间的关系,可能会有像 '5%-6%' 这样的破折号,其中 5% 是代码,而 6 % suborg .. 但我什至不知道从哪里开始。
从后端,传递参数的格式无关紧要,我只需要弄清楚如何让 SP 工作。