我想做一个这样的系统,一开始建立数据库就遇到了问题
(是一个比较简单的资产汇总表及车间岗点物品详细表)
-----------------------------------------------------
车间岗点物品详细表:说明:某单位有好多车间,车间下又设好多岗点,岗点下又有一些物品,
     只记录这些物品名称及数量如:
 一车间办公室:
   1.桌子 2 
   2.椅子 2 
   3.风扇 2 
 一车间资料室:
   1.桌子 2 
   2.椅子 3 
   3.风扇 1 
 二车间资料室:
   1.桌子 2 
   2.椅子 3 
   3.风扇 1 
   .....(略)
-----------------------------------------------------资产汇总表:说明:将该单位的所有物品名称、物品单位、及数量生成一张汇总表(就是以物品名称分类统计出该单位下的所有岗点这一类的物品数量是多少的表)
如:序号 品名  单位  数量  备注
1    椅子   把   50    坏2
2    桌子    张      52      
2    电扇    台      52   坏1
.....略 
-----------------------------------------------------
我这样设计:车间表(cj_table)  岗点表(gd_table)   品名表(pm_table)               
1.车间序号(cjid)  1.岗点序号(gdid)   1.品名序号(pmid)     
2.车间名称(cj)    2.车间序号(cjid)   2.品名(pm)     
                  3.岗点名称(gd)     3.品名单位(dw)     
                        
详细信息表
1.序号(xxid)
2.岗点序号(gdid)
3.品名序号(pmid)
4.总数(zs)
现在的问题是如何通过这四张表让它自动生成资产汇总表,感觉不好设计,大家帮帮忙,看如何
写这条sql语句!(其中的备注字段如何设计,是不是用sql语句实现后在alter table add ..?)即生成这样的表
序号 品名  单位  数量  备注
1    椅子   把   50    坏2
2    桌子    张      52      
2    电扇    台      52   坏1

解决方案 »

  1.   

    select cj_table.cjid,gd_table.gdid,pm_table.pmid,sum(xx_info.zs)
    from cj_table,gd_table,pm_table,xx_info
    where cj_table.cjid=gd_table.cjid
    and pm_table.pmid=xx_info.pmid
    and xx_info.gdid=gd_table.gdid
    group by cj_table.cjid,gd_table.gdid,pm_table.pmid
      

  2.   

    to: hzwanglw(Ringwraiths),不行呀,我的意思是 生成这样的表
    ---------------------
    序号 品名  单位  数量  备注
    1    椅子   把   50    坏2
    2    桌子    张      52      
    2    电扇    台      52   坏1
    就是以物品名称分类统计出该单位下的所有岗点这一类的物品数量是多少的表
    如这张表中的第一行
    ----------------
    序号 品名  单位  数量  备注
    1    椅子   把   50    坏2
    -----------------
    所表示的意思是该单位的所有岗点椅子总数量为50把
      

  3.   

    我觉得你用hzwanglw(Ringwraiths)的语句就可以了
    你如果要生成表你完全可以先创建一个表再把数据插入就行了。
    不是太明白你的意思。
      

  4.   

    select cj_table.cjid,gd_table.gdid,pm_table.pmid,sum(xx_info.zs)
    from cj_table,gd_table,pm_table,xx_info
    where cj_table.cjid=gd_table.cjid
    and pm_table.pmid=xx_info.pmid
    and xx_info.gdid=gd_table.gdid
    and pm_table.pm = "椅子"
    group by cj_table.cjid,gd_table.gdid,pm_table.pmid
      

  5.   

    --创建资产汇总表
    create table zchz_table
    (
    xh int identity(1,1) not null,
    pm char(15) not null,
    dw char(4) not null,
    sl int not null,
    bz char(30) null
    )--插入数据
    insert into zchz_table(pm,dw,sl)
    select pm_table.pm,pm_table.dw,sum(详细信息表.zs)
    from pm_table,详细信息表
    where pm_table.pm=详细信息表.pmid
    group by pm_table.pmid--修改资产汇总表中的数据
    update zchz_table
    set bz='坏2'
    where pm='椅子'--分析通过
    --如仍有疑问,发我短消息
      

  6.   

    to:zhaoliang_chen(龙行天下) 由于工作的关系,没能及时回复,请原谅,你的思路是对的,但最关系的sql语句有误,我以修正。谢谢!