虚表的使用,和查询结果通过无关联多表进行获取

select workdate,workline,ssize, sum(qty) qty,sono=@So_No, soitem=@Item_No into #ets_list from 
 EmployeeDayTable 
where 
 zdcode =(select ZDCODE   from  vw_36_9_T_SCZZD where  sono =@So_No and SOItemNo=@Item_No)
 and colorName =(select top 1 ColorDescription  from   SBD_CEN_SizeBreakDown where SO_NO =@So_No and So_Item=@Item_No)
  
group by workdate,workline,ssize

select Size,OrderQty,qty as PlanedQty from 
 (select ssize ,Sum(qty) qty ,sono,soitem from #ets_list as p1 group by ssize,sono,soitem) as p1 
  right join
 ( select SizeCup as size ,OrderQty ,SO_NO,So_Item from VW_CM1_SizeBreakdowm where SO_NO=@So_No and So_Item=@Item_No ) as p2 
 on  p2.so_no =p1.sono and  p2.so_Item=p1.soitem  and p2.size=p1.ssize  order by p2.size asc

 drop table  #ets_list

EmployeeDayTable 就是一个table1
vw_36_9_T_SCZZD  是一个table2
VW_CM1_SizeBreakdowm  是一个table3 
 SBD_CEN_SizeBreakDown 是一个table4
三个表都没有太多关联,此处作用就是将查询的结果汇到一起展示出来
实质上在给虚表设值时候sono=@So_No, soitem=@Item_No  这样使后面的并列查询能够实现

猜你喜欢

转载自blog.csdn.net/penghao_1/article/details/83039588