表结构如下
   表1:布号,长度,宽度,层数,平布人姓名,平布日期,发布人,发布日期 
   表2:成品名称,部件名称,型号,个数,布号,冲切人姓名,冲切日期
   表3:成品名称,部件名称,型号,定额用量  上表是服装厂某车间的数据信息,工作流程为:平布员将每匹布标号,记录一些信息,交给发布人,发布人将布发给冲切工,加工成品服装的某个部件,每个布号的布可加工成多个不同规格的成品服装部件,每个部件根据型号的不同有不同的定额用量(即成品部件的有效面积),,现在求每个冲切工每天浪费布的情况
即:冲切工姓名,加工布量,浪费布量

解决方案 »

  1.   

    拜托各位了,用ado连sql server2000
      

  2.   

    select 表2.冲切工姓名, 表1.长度*表1.宽度*表1.层数 as 加工布量,(表1.长度*表1.宽度*表1.层数)-(表2.个数*表3.定额用量) as 浪费布量 from 表1,表2,表3
     where 表1.布号=表2.布号 and 表2.成品名称=表3.成品名称 and 表2.部件名称=表3.部件名称 and 表2.型号=表3.型号
      

  3.   


    SELECT t2.冲切人姓名, t1.长度 * t1.宽度 * t2.个数 AS 加工布量, t1.长度 * t1.宽度 * t2.个数 - SUM(t3.定额用量) as 浪费量
    FROM 表2 t2 INNER JOIN
         表1 t1 ON t2.bh = t1.bh INNER JOIN
          表3 t3 ON t2.xh = t3.xh
    GROUP BY t2.冲切人姓名, t1.长度, t1.宽度, t2.个数
      

  4.   

    不对
    SELECT t2.冲切人姓名, t1.长度 * t1.宽度 * t1.层数 AS 加工布量, t1.长度 * t1.宽度 * t1.层数 - t2.gs*t3.定额用量 as 浪费量
    FROM 表2 t2 INNER JOIN
         表1 t1 ON t2.bh = t1.bh INNER JOIN
          表3 t3 ON t2.xh = t3.xh
      

  5.   

    sql server 2000 另一种写法SELECT t2.冲切人姓名, t1.长度 * t1.宽度 * t1.层数 AS 加工布量, t1.长度 * t1.宽度 * t1.层数 - t2.gs*t3.定额用量 as 浪费量
    FROM 表2 t2 ,表1 t1,表3 t3  
     t2.bh = t1.bh 
     t2.xh = t3.xhoracle 8I/9I 写法SELECT t2.冲切人姓名, t1.长度 * t1.宽度 * t1.层数  加工布量, t1.长度 * t1.宽度 * t1.层数 - t2.gs*t3.定额用量  浪费量
    FROM 表2 t2 ,表1 t1,表3 t3  
     t2.bh = t1.bh(+) 
     t2.xh = t3.xh(+)