日期:2014-05-18  浏览次数:20583 次

进出货数据,有表,求创建视图的方法
A表:列有A1(PK,主信息ID),(及其他业务数据)

B表:列有A1(FK主信息ID),B2(PK明细ID),B3(入货数量)(及其他业务数据)


C表 列有 C1(PK)(及其他业务数据)

D表:列有C1(FK,出货单ID)B2(PK,B明细的ID),D2(出货数量)

其中A表 1:N B表(进货时的主信息,明细信息)

C表1:N D表(出货时的主信息明细信息)


B与D表示多对多的关系(进了N笔货(明细),出货的时候重新组合这N笔进来的货(由主信息)在一起,所以是多对多的关系)

B表 N:N D表


现在我想要B表的库存量,也即:B2(明细ID),B3(入库数量)-sum(D2 by 明细ID分组)(提货数量)(=库存量)




怎么创建这个视图

------解决方案--------------------
能否说得更明确一些,表名最好用实体名,列名最好用属性名,这样好理解一些.
------解决方案--------------------
SQL code

Create View CView
As
Select T2.B2, T2.B3 - T4.D2Sum
From B T2, (Select B2, Sum(isNull(D2,0)) D2Sum From D Group By B2) T4
Where T2.B2 = T4.B2