当前位置: 代码迷 >> Sql Server >> 请教存储过程中怎么产生临时的结果集
  详细解决方案

请教存储过程中怎么产生临时的结果集

热度:83   发布时间:2016-04-24 10:34:04.0
请问存储过程中如何产生临时的结果集?
比如我希望在一个存储过程中先建立两个结果集

结果集1是   select * from 某表1 where 某字段=条件

结果集2是  select * from 某表2 where  某字段=条件

然后我希望再用一个select语句对以上两个结果集进行查询
比如 

select  结果集1,某字段,结果集2,某字段  FROM 结果集1 JOIN 结果集2 ON 结果集1.某字段=结果集2.某字段

并且把最后一个的select结果作为存储过程的结果

请问这样的想法是可行的吗?

不是很懂,还请指教
------解决方案--------------------

;with t1 as
(
  select * from 某表1 where 某字段=条件
),
t2 as
(
  select * from 某表2 where  某字段=条件
)
select  t1,某字段, t2,某字段  FROM t1 JOIN t2 ON t1.某字段=t2.某字段

------解决方案--------------------

create proc [存储过程名]
as
begin
 select * 
  into #t1
  from 某表1 
  where 某字段=条件

 select *
  into #t2 
  from 某表2 
  where 某字段=条件

 select a.某字段,b.某字段  
  from #t1 a 
  join #t2 b on a.某字段=b.某字段
end
  相关解决方案