班组成员表(a)
cwgname(班组编码)        cpsn_num(人员编码)
1                        0001              
1                        0002
1                   0003
1                   0004
2                  0005
2                  0006
2                  0007
2                 0001
班组计件明细(b)
cinvcode(产品型号)         cwgname(班组编码)          工序名       数量      单价
XXXX                           1                       
XXXX                           2                       
XXX                            1
XXX                            2
AS                             2
DS                             1
SD                             1
现在要做张视图,视图的内容包括 cinvcode(产品型号),
cwgname(班组编码),工序名,数量,单价,cpsn_num(人员编码)
这里的数量必须是B表中的数量/A中该班组的人员数
杂做?请高手指教!

解决方案 »

  1.   

    cpsn_num(人员编码) 希望得到的结果形式是怎么样的呢? 因为是1对多的。
      

  2.   

    得到的形式是:0001  XXXX  1  工序名  数量   单价
                  0001  XXX   1  工序名  数量   单价
                  以次类推
      

  3.   


    create view view_name 
    as
    select b.cinvcode,b.cwgname,b.工序名,数量=(b.数量/(select count(1) from ta a 
    where a.cwgname=b.cwgname)),b.单价
    from tb b
      

  4.   


    CREATE VIEW get_info
    AS
    SELECT b.cinvcode, a.cwgname, b.工序名, (b.数量/count(a.cpsn_num)) as 数量, b.单价
    from a
    inner join b
    on a.cwgname = b.cwgname
    group by b.cinvcode, a.cwgname, b.工序名,  b.单价
      

  5.   

    不是说还有这个列吗?
    cpsn_num(人员编码) 
      

  6.   

    这个是我实际中的数据,这里的数量还没除的
    cWGCode           cWGName     cPsn_Num 人员姓名 工序名    产品型号  数量
    1     尤向阳陈红良陈连清王建康 319 尤向阳 平面粗磨    7226C/02 511
    1     尤向阳陈红良陈连清王建康 410 陈红良 平面粗磨    7226C/02 511
    1     尤向阳陈红良陈连清王建康 445 陈连清 平面粗磨    7226C/02 511
    1     尤向阳陈红良陈连清王建康 495 王建康 平面粗磨    7226C/02 511