多个查询循环,将结果导出到一个结果集。
1.先创建一个临时表(#代表是临时表)
create table #temptable
( wuliaohao varchar(50),
wuliaoming varchar(100),
SQ_no varchar(50),
rem varchar(1000)
);
2.将查询的结果逐条插入到临时表
DECLARE @id VARCHAR(50); -- 定义变量存储ID值
DECLARE myCursor CURSOR FOR SELECT prd_no from prdt1 where LST_IND between '2023-01-29' and '2024-02-28' and qty > '0'; -- 创建光标并指定要遍历的表及字段
OPEN myCursor; -- 打开光标
FETCH NEXT FROM myCursor INTO @id; -- 获取第一条记录的ID值到@id变量中
WHILE @@FETCH_STATUS = 0 BEGIN -- 当有数据时执行循环
insert into #temptable (wuliaohao,wuliaoming,SQ_no,rem)
SELECT top 1 a.prd_no 物料号,c.name 物料名,b.sq_no 请购单号,b.rem 请购备注
from tf_sq a
LEFT JOIN mf_sq b on a.sq_no=b.sq_no
LEFT JOIN prdt c on a.prd_no=c.prd_no
where a.prd_no =@id
order by b.sq_dd desc-- 这里写需要执行的操作
FETCH NEXT FROM myCursor INTO @id; -- 获取下一条记录的ID值到@id变量中
END;
CLOSE myCursor; -- 关闭光标
DEALLOCATE myCursor; -- 删除光标对象
3.查询临时表
select * from #temptable
4.清除临时表
drop table #temptable
文章评论
Very interesting info!Perfect just what I was searching for!<a href="http://salt-shack.org/__media__/js/netsoltrademark.php?d=www.blogexpander.com">Raise your business</a>