微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

SQLServer视图应用(32位Server连接64位Server)

sqlServer视图:

在工作中遇到另一个事业部向我要sql视图的情况,便提供给他们。

CREATE view V_Test              
as              
select '1' 'CompID',MatlID,MatlDesc,SpecName,UomBase,AVLQty,MonAVGQty,SafeStock,QTYREQ,CURR from OPENQUERY              
(server-name1,'              
select a.MatlID,a.MatlDesc,a.SpecName,a.UomBase,a.AVLQty,a.MonAVGQty,a.SafeStock,SUM(b.QTYREQ) ''QTYREQ'',c.CURR              
from (              
select a.MatlID,a.OUTQty/90 ''MonAVGQty'',b.SafeStock              
from database1.dbo.INV23010 a,database1.dbo.SYS02090 b              
where a.MatlID=b.MatlID              
) a         
left join (        
select a.PN,CURR,UPRICE from database1..PURPRICE a,(select PN,MAX(EFFIN) ''EFFIN'' from database1..PURPRICE where ISNULL(APPDATE,'''')<>'''' group by PN) b        
where a.PN=b.PN and a.EFFIN=b.EFFIN and isnull(a.uprice,-1)<>-1        
) c on a.MatlID=c.PN    
left join (select QTYREQ,PN from database1.dbo.REQUEST where ISNULL(CLOSED,'''')<>''E'' and PONO is null) b on a.MatlID=b.PN             
where isnull(c.uprice,-1)<>-1               
group by a.MatlID,c.CURR              
'            --,c.UPRICE  
)            
union            
select '2' 'CompID',CURR from OPENQUERY              
(server-name2,b.SafeStock              
from database2.dbo.INV23010 a,database2.dbo.SYS02090 b              
where a.MatlID=b.MatlID              
) a         
left join (        
select a.PN,UPRICE from database2..PURPRICE a,MAX(EFFIN) ''EFFIN'' from database2..PURPRICE where ISNULL(APPDATE,PN from database2.dbo.REQUEST where ISNULL(CLOSED,-1)<>-1              
group by a.MatlID,c.CURR            
'              
)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐