Sql server 2008 r2 查询存储过程结果

Sql server 2008 r2 查询存储过程结果,sql-server-2008-r2,Sql Server 2008 R2,我有一个存储过程,它返回一个数据表。 我需要从这个结果中查询某些数据 目前我的工作如下: Create Table #proc ( [Id] INT IDENTITY(1,1) NOT NULL PRIMARY KEY, [Name] NVARCHAR(50) NULL, [MetricName] NVARCHAR(50) NULL, [Value] NVARCHAR(50) NULL, [PointsAwarded] NVARCHAR(5

我有一个存储过程,它返回一个数据表。 我需要从这个结果中查询某些数据

目前我的工作如下:

Create Table    #proc  
(
    [Id] INT IDENTITY(1,1) NOT NULL PRIMARY KEY,
    [Name] NVARCHAR(50)  NULL,
    [MetricName] NVARCHAR(50)  NULL,
    [Value] NVARCHAR(50)  NULL,
    [PointsAwarded] NVARCHAR(50)  NULL,
    [MaxPoints] INT NULL,
    [wEIGHTAGE] DECIMAL NULL
)

Insert into #proc  
exec dbo.prc_ShopInstanceCustomersData 2023, 10000 

select Name, SUM(Case when [PointsAwarded] = 'n/a' then 0 else [PointsAwarded] end) As TotalPoints from #proc group by Name
我不想在这里使用另一个额外的表来存储过程结果。 有没有一种方法可以直接从存储过程结果执行select查询,而无需将结果提取到表中


提前感谢……

不…………为什么不使用临时表?那个这就是他们在那里的目的!如果您经常需要此查询,可以创建一个新的存储过程,只返回您需要的列。另请参见此链接:。根据您的需求和约束,您也可以考虑编写不同的存储过程,和/或使用视图。在应用程序中,我在LINQtoSQL中编写了一个查询来处理这个问题。