2016-11-05 43 views
1

我有一个过程A如何执行proceduce选择SQL

在执行A 'DD/MM/YY'

我得到如下结果:

Nmonth Origincode      Rev  NYEAR 
---------------------------------------------------------- 
03(MAR) OL Booking online    11024127 2016 
03(MAR) OT Bookings from Other source 23728136 2016 
03(MAR) RES Bookings from    5761904  2016 
03(MAR) UK UK       831169  2016 
03(MAR) WS Bookings      0   2016 

我是不是试图选择SQL但不是

select * 
from (exec A '1/1/2016') as results 
where coll = xyz 

这是不正确的。

你能帮我吗?

+0

你试图从一个存储过程中的查询结果? –

+0

您需要将过程输出保存到临时表中,然后使用WHERE条件从该表中选择。 –

+4

您已经为Oracle和SQL Server标记了此标记。你实际使用了哪两种? –

回答

1

如果你正在寻找的结果在SQL Server则: 你可以把你的存储过程结果到任何临时表所示:

//创建临时表

Create table #mytable 
(
<your column list> 
) 

//插入数据到临时表

insert into #mytable exec A '1/1/2016' 

//选择您的筛选器的数据,或者你也可以把在where子句中存储过程本身

Select * from #mytable where coll=xyz 

,或者您也可以将数据插入到临时表中,如:

SELECT * 
INTO #mytable FROM  
OPENQUERY(yourservername, 'exec A ''1/1/2016''')