使用两个参数在 table 中搜索,其中一个参数是整数列表
Search in a table using two parameters where one of them is a list of integers
我正在尝试使用 ASP.NET 和 C# 创建一个存储过程以在我的 Web api 中使用。我有一个 table,其中有如下三列:
Id |TranName|ConfigName
---|--------|----------
10 |ABC |abcd
11 |BDE |bdef
12 |FGH |fghi
13 |HIJ |hijk
问题是我正在使用另一个存储过程,它 return 是一个整数列表,我必须使用它来搜索上面的 table 以及 TranName。因此,例如,给定一个整数列表 9,10,11,12,13 和 TranName BDE 找到相应的 ConfigName(在这种情况下,我希望它匹配 11 的 Id 然后 BDE 的 TranName 和 return bdef 作为配置名称。
我的存储过程代码如下所示。我正在创建一个 Table 用作在 TransTable 中搜索的参数。
CREATE TYPE dbo.ScrapeTranList
AS TABLE
(
scrapeTranId int
);
GO
CREATE PROCEDURE [dbo].[GetConfigNameById]
-- Add the parameters for the stored procedure here
@list AS dbo.ScrapeTranList READONLY,
@TransName varchar = null
AS
BEGIN
SET NOCOUNT ON;
select ConfigName
from TransTable as T
where T.TranName = @TransName AND T.Id IN @list
END
谁能帮我修复存储过程代码?
您应该像这样加入 table 到 table 值的参数:
select ConfigName
from TransTable as T join @list L
on T.Id = L.scrapeTranId
where T.TranName = @TransName
我正在尝试使用 ASP.NET 和 C# 创建一个存储过程以在我的 Web api 中使用。我有一个 table,其中有如下三列:
Id |TranName|ConfigName
---|--------|----------
10 |ABC |abcd
11 |BDE |bdef
12 |FGH |fghi
13 |HIJ |hijk
问题是我正在使用另一个存储过程,它 return 是一个整数列表,我必须使用它来搜索上面的 table 以及 TranName。因此,例如,给定一个整数列表 9,10,11,12,13 和 TranName BDE 找到相应的 ConfigName(在这种情况下,我希望它匹配 11 的 Id 然后 BDE 的 TranName 和 return bdef 作为配置名称。
我的存储过程代码如下所示。我正在创建一个 Table 用作在 TransTable 中搜索的参数。
CREATE TYPE dbo.ScrapeTranList
AS TABLE
(
scrapeTranId int
);
GO
CREATE PROCEDURE [dbo].[GetConfigNameById]
-- Add the parameters for the stored procedure here
@list AS dbo.ScrapeTranList READONLY,
@TransName varchar = null
AS
BEGIN
SET NOCOUNT ON;
select ConfigName
from TransTable as T
where T.TranName = @TransName AND T.Id IN @list
END
谁能帮我修复存储过程代码?
您应该像这样加入 table 到 table 值的参数:
select ConfigName
from TransTable as T join @list L
on T.Id = L.scrapeTranId
where T.TranName = @TransName