将循环代入查询
已知:
select Name,Number
where A
但是Number需要通过where循环来得到
while(a<>b)
begin
返回值为一个数组,而其中的循环,会改变where条件的某些变量
end
问,怎么把这个循环代入这个查询语句,并在改变where条件后,正常运行. 循环需与查询同时进行
------解决方案--------------------没有完全理解楼主的意思。
就理解的来说,可以使用嵌套的with语句生成临时的集合,再在这个集合上面操作。
------解决方案--------------------试试关联查询
select a.TerminalNo,a.GpsTime,(a.Mileage+b.Mileage) Mileage from GpsPath20120510 a
left join GpsPath20120511 b
on a.TerminalNo=b.TerminalNo
------解决方案--------------------
那能否先将所有表的数据插入到一张临时表,再用group by统计
insert into GpsPathTemp
select * from GpsPath20120510
insert into GpsPathTemp
select * from GpsPath20120510
.........
select TerminalNo,GpsTime,sum(Mileage) from GpsPathTemp group by TerminalNo,GpsTime