是这样的,数据库有如下表: 表1:切大段
员工姓名   产量   
  陈一     100
  陈二     200
  陈一     100
  陈二     200表2:切小段
员工姓名   产量   
  陈一     200
  陈二     300
  陈一     200
  陈二     300表3:拉伸
员工姓名   产量   
  张三     300
  张四     400
  张三     300
  张四     400
现想生成这样的报表:报表1(全部)
员工姓名   所属工序    总产量
  陈一     切大段       200
  陈一     切小段       400
  陈二     切大段       400
  陈二     切小段       600
  张三     拉伸         600
  李四     拉伸         800报表2(单独)即是提供一个查询界面,然后给用户输入员工姓名,如用户输入“陈一”:
员工姓名    所属工序    总产量
陈一        切大段       200
陈一        切小段       400   
  
请先比较上面表的数据,这可帮了我个大忙啊,谢谢

解决方案 »

  1.   

    对于第一个:
    select sum(产量),'切大段' as 所属工序  from 表1 group by 员工姓名 union
    select sum(产量),'切小段' as 所属工序  from 表2 group by 员工姓名 union
    select sum(产量),'拉申' as 所属工序  from 表3 group by 员工姓名
      

  2.   

    測試:
    create table a3 (name varchar(20),num numeric(10,2))insert into a1 values('陳一',100)
    insert into a1 values('陳二',200)
    insert into a1 values('陳一',100)
    insert into a1 values('陳二',200)insert into a2 values('陳一',200)
    insert into a2 values('陳二',300)
    insert into a2 values('陳一',200)
    insert into a2 values('陳二',300)insert into a3 values('張三',300)
    insert into a3 values('張四',400)
    insert into a3 values('張三',300)
    insert into a3 values('張四',400)報表一
    select name,'切大段' as 所属工序, sum(num) as 总产量  from a1 group by name
    union
    select name,'切小段' as 所属工序, sum(num) as 总产量  from a2  group by name
    union
    select name,'拉伸' as 所属工序, sum(num) as 总产量  from a3  group by name
    order by 总产量,所属工序
    報表二
    select * from
    (select name,'切大段' as 所属工序, sum(num) as 总产量  from a1 group by name
    union
    select name,'切小段' as 所属工序, sum(num) as 总产量  from a2  group by name
    union
    select name,'拉伸' as 所属工序, sum(num) as 总产量  from a3  group by name) as b
    where  name='陳一'結果報表一:
    陳一 切大段 200.00
    陳二 切大段 400.00
    陳一 切小段 400.00
    陳二 切小段 600.00
    張三 拉伸 600.00
    張四 拉伸 800.00結果報表一:
    陳一 切大段 200.00
    陳一 切小段 400.00
      

  3.   

    再发一帖,数据结构更正如下:
    我觉得这是一个很综合的SQL语句,自己想不出来,希望大家能帮助一下。
    表的结构如下,请大家详细阅:表1:前序所属工序   生产型号   员工姓名     产量
     切大段     rf001      陈一         10
     切大段     rf001      陈二         20
     切小段     rf002      陈一         30
     切小段     rf002      陈二         40表2:中序所属工序   生产型号   员工姓名     产量
      拉伸       rf002      陈一        50
      拉伸       rf002      陈二        60
      倒角       rf003      陈一        70
      倒角       rf003      陈二        80现想生成如下的报表形式:生产型号  切大段  切小段  拉伸
     rf001      30                (因生产型号:rf001在切小段、拉伸里没有产量,所以应为空)
     rf002              70    110 (因生产型号:rf002在切大段没有产量,所以也为空)特注:
    1,在上述的型号,因为报表只要求切大段、切小段、拉伸,所以在倒角的rf003没有显示出来。
    2,表的结构不能再更改。谢谢,对我很重要的。
      

  4.   

    对于 第一个问题select * from 表1,表2,表3