次のようなテーブルがあります。
orderID Code SubCode
コードとサブコードに基づいて、すべての orderID をプルできる必要があります。
Codes
とSubCodes
は varchar 値であり、それに対して「いいね」をすることができる必要があります。ユーザーは、たとえば、上記の例の場合に 3%Code
と 45% にアクセスできるSubCode
ため、すべての注文を取得します。はCode
3 でSubCode
始まり、 は 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 % the suborg.. しかし、どこから始めればよいかわかりません。
バックエンドからは、どの形式でパラメーターを渡すかは問題ではありません。SP を機能させる方法を理解する必要があるだけです。