望量力解答,有满意结果的话我会加分~~~~觉得麻烦的话可以只提供代码.也可以把答案发在我邮箱[email protected]
一张表中包含如下列属性和记录信息:
发生日期 业务类型 商品代码 数量 成本金额 发生金额 发生门店 收货门店
2011/1/4 自营进 00001 100 200.00 200.00 1000000 1000000
2011/2/11 自营进 00002 1000 1000.00 1000.00 1000000 1000000
2011/2/11 零售 00005 100 300.00 400.00 1000000 1000000
2011/2/12 自营进 00003 203 40.60 40.60 1000000 1000000
2011/2/12 溢余 00004 700 3500.00 3500.00 1000000 1000000
2011/2/12 溢余 00005 800 2400.00 2400.00 1000000 1000000
2011/2/12 零售 00005 20 60.00 80.00 1000000 1000000
2011/2/25 溢余 00006 960 1920.00 1920.00 1000000 1000000
2011/3/1 统配出 00007 730 2920.00 3500.00 1000000 1000001
2011/3/6 统配出 00008 2 20.00 25.00 1000000 1000001
2011/3/7 统配出 00009 300 1200.00 1300.00 1000000 1000002
2011/3/7 零售 00006 50 100.00 150.00 1000000 1000000
2011/3/7 调拨出 00010 45 45.00 45.00 1000000 1000000
2011/3/11 调拨出 00011 10 500.00 500.00 1000000 1000000
2011/3/11 零售 00008 7 70 105.00 1000000 1000000
2011/3/11 零售 00003 20 4.00 10.00 1000000 1000000
1. 创建该表,表名定义(注意字段名使用英文):创建者姓名全拼音_DRPT;
2. 插入表中的记录信息;
3. 删除商品代码为‘00011’的记录;
4. 将发生日期为2011/2/12,商品代码为00004,且业务为” 溢余”的记录,数量调整成70,成本金额调整成350.00,发生金额调整成350.00;
5. 将发生日期为2011/3/6,商品代码为00008,且业务为” 统配出”的记录,数量增加1,成本金额增加2,发生金额增加5;
6. 对发生日期及业务类型字段创建索引,索引名称定义:创建者姓名全拼音_IDX_DRPT;
7. 统计零售业务的发生金额合计;
8. 统计发生日期为2011/3/1,商品代码为00007的配货业务的配货单价(公式:发生金额/数量)
9. 统计每种业务类型的发生成本总额;
10. 统计发生成本总额超过1000.00的业务类型;
11. 列出所有零售记录明细,并按照发生日期降序显示;
以上均需在数据库中创建、执行,并提供脚本另一张表中包含如下列属性和记录信息:
代码 名称 类别
00001 可口可乐 饮料
00002 餐巾纸 日用品
00003 一次性纸杯 日用品
00004 康师傅方便面 食品
00005 阿明瓜子 食品
00006 旺旺果奶 饮料
00007 旺仔小馒头 食品
00008 婴儿纸尿裤 婴儿用品
00009 康师傅酸梅汤 饮料
00010 圆珠笔 文具
1. 创建该表,表名定义(注意字段名使用英文):创建者姓名全拼音_GOODS;
2. 插入表中的记录信息;
3. 合计每种类别各业务类型的发生总额;
4. 修改文具类的调拨出业务,成本金额、发生金额均增加45.00;
以上均需在数据库中创建、执行,并提供脚本;
另一张表中包含如下列属性和记录信息:
门店代码 门店名称
1000000 总部
1000001 测试门店1
1000002 测试门店2
1000003 测试门店3
1. 创建该表,表名定义(注意字段名使用英文):创建者姓名全拼音_STORE;
2. 插入表中的记录信息;
3. 查询统配出业务的明细信息,包含发生日期、业务类型、商品代码、商品名称、数量、发生门店代码、发生门店名称、收货门店代码、收货门店名称;
4. 按发生日期和门店汇总查询的销售情况,要求显示:发生日期、发生单位、发生单位代码、零售发生总额;
5. 按发生日期和门店、类别汇总查询的销售情况,要求显示:发生日期、发生单位、发生单位代码、类别、零售发生总额、毛利总额(公式:发生总额-成本总额),并按照毛利总额降序排序;
以上均需在数据库中创建、执行,并提供脚本;

解决方案 »

  1.   

    老实说,这个题目出的有点问题。给的数据对于题目来说也不很完整。给你贴个答案吧。一张表中包含如下列属性和记录信息:
    发生日期 业务类型 商品代码 数量 成本金额 发生金额 发生门店 收货门店
    2011/1/4 自营进 00001 100 200.00 200.00 1000000 1000000
    2011/2/11 自营进 00002 1000 1000.00 1000.00 1000000 1000000
    2011/2/11 零售 00005 100 300.00 400.00 1000000 1000000
    2011/2/12 自营进 00003 203 40.60 40.60 1000000 1000000
    2011/2/12 溢余 00004 700 3500.00 3500.00 1000000 1000000
    2011/2/12 溢余 00005 800 2400.00 2400.00 1000000 1000000
    2011/2/12 零售 00005 20 60.00 80.00 1000000 1000000
    2011/2/25 溢余 00006 960 1920.00 1920.00 1000000 1000000
    2011/3/1 统配出 00007 730 2920.00 3500.00 1000000 1000001
    2011/3/6 统配出 00008 2 20.00 25.00 1000000 1000001
    2011/3/7 统配出 00009 300 1200.00 1300.00 1000000 1000002
    2011/3/7 零售 00006 50 100.00 150.00 1000000 1000000
    2011/3/7 调拨出 00010 45 45.00 45.00 1000000 1000000
    2011/3/11 调拨出 00011 10 500.00 500.00 1000000 1000000
    2011/3/11 零售 00008 7 70 105.00 1000000 1000000
    2011/3/11 零售 00003 20 4.00 10.00 1000000 1000000
    1. 创建该表,表名定义(注意字段名使用英文):创建者姓名全拼音_DRPT;
    /**
     * 字段: 发生日期(tdate) 业务类型(type) 商品代码(code) 数量(qty) 成本金额(cost) 发生金额(trans) 发生门店(tran_shop) 收货门店(recv_shop)create table yanzhen_drpt(
    id int(8) not null primary key auto_increment,
    tdate not null,
    type varchar(20) not null,
    code varchar(10) not null,
    qty int(4) not null,
    cost double not null,
    trans double not null,
    tran_shop varchar(40) not null,
    recv_shop varchar(40));
     */
    2. 插入表中的记录信息;
    insert into yanzhen_drpt values(null,'2011/1/4','自营进','00001',100,200.00,200.00,'1000000','1000000'); // 
    insert into yanzhen_drpt values(null,'2011/2/11','自营进','00002',1000,1000.00,1000.00,'1000000','1000000');
    insert into yanzhen_drpt values(null,'2011/2/11','零售','00005',100,300.00,400.00,'1000000','1000000');
    insert into yanzhen_drpt values(null,'2011/2/12','自营进','00003',203,40.60,40.60,'1000000','1000000');
    insert into yanzhen_drpt values(null,'2011/2/12','溢余','00004',700,3500.00,3500.00,'1000000','1000000');
    insert into yanzhen_drpt values(null,'2011/2/12','溢余','00005',800,2400.00,2400.00,'1000000','1000000');
    insert into yanzhen_drpt values(null,'2011/2/12','零售','00005',20,60.00,80.00,'1000000','1000000');
    insert into yanzhen_drpt values(null,'2011/2/25','溢余','00006',960,1920.00,1920.00,'1000000','1000000');
    insert into yanzhen_drpt values(null,'2011/3/1','统配出','00007',730,2920.00,3500.00,'1000000','1000001');
    insert into yanzhen_drpt values(null,'2011/3/6','统配出','00008',2,20.00,25.00,'1000000','1000001');
    insert into yanzhen_drpt values(null,'2011/3/7','统配出','00009',300,1200.00,1300.00,'1000000','1000002');
    insert into yanzhen_drpt values(null,'2011/3/11','调拨出','00010',10,500.00,500.00,'1000000','1000000');
    insert into yanzhen_drpt values(null,'2011/3/11','零售','00008',7,70.00,105.00,'1000000','1000000');
    insert into yanzhen_drpt values(null,'2011/3/11','零售','00003',20,4.00,10.00,'1000000','1000000');
    3. 删除商品代码为‘00011’的记录;
    delete from yanzhen_drpt where code='00011';4. 将发生日期为2011/2/12,商品代码为00004,且业务为” 溢余”的记录,数量调整成70,成本金额调整成350.00,发生金额调整成350.00;
    update yanzhen_drpt set qty=70, cost=350.00, trans=350.00 where code='00004' and type='溢余';5. 将发生日期为2011/3/6,商品代码为00008,且业务为” 统配出”的记录,数量增加1,成本金额增加2,发生金额增加5;
    update yanzhen_drpt set qty=qty+1, cost=cost+2, trans=trans+5 set yanzhen_drpt where date='2011/03/06' and type='统配出'6. 对发生日期及业务类型字段创建索引,索引名称定义:创建者姓名全拼音_IDX_DRPT;
    create index yanzhen_idx_drpt on yanzhen_drpt(date, type);7. 统计零售业务的发生金额合计;
    select sum(trans) from yanzhen_drpt where type='零售';8. 统计发生日期为2011/3/1,商品代码为00007的配货业务的配货单价(公式:发生金额/数量)
    select trans/qty from yanzhen_drpt where tdate='2011/03/01' and code='00007';9. 统计每种业务类型的发生成本总额;
    select type,sum(trans) from yanzhen_drpt group by type;10. 统计发生成本总额超过1000.00的业务类型;
    select type,sum(trans) from yanzhen_drpt group by type desc having sum(trans)>1000;
    11. 列出所有零售记录明细,并按照发生日期降序显示;
    select * from yanzhen_drpt where type='零售' order by tdate desc;
    以上均需在数据库中创建、执行,并提供脚本另一张表中包含如下列属性和记录信息:
    代码 名称 类别
    00001 可口可乐 饮料
    00002 餐巾纸 日用品
    00003 一次性纸杯 日用品
    00004 康师傅方便面 食品
    00005 阿明瓜子 食品
    00006 旺旺果奶 饮料
    00007 旺仔小馒头 食品
    00008 婴儿纸尿裤 婴儿用品
    00009 康师傅酸梅汤 饮料
    00010 圆珠笔 文具
    1. 创建该表,表名定义(注意字段名使用英文):创建者姓名全拼音_GOODS;
    /**
     * 创建表 yanzhen_goods
     * 表字段 code name gtype
     * 
     */2. 插入表中的记录信息;
    insert into yanzhen_goods values('00001','可口可乐','饮料');
    insert into yanzhen_goods values('00002','餐巾纸','日用品');
    insert into yanzhen_goods values('00003','一次性纸杯','日用品');
    insert into yanzhen_goods values('00004','康师傅方便面','食品');
    insert into yanzhen_goods values('00005','阿明瓜子','食品');
    insert into yanzhen_goods values('00006','旺旺果奶','饮料');
    insert into yanzhen_goods values('00007','旺仔小馒头','食品');
    insert into yanzhen_goods values('00008','婴儿纸尿裤','婴儿用品');
    insert into yanzhen_goods values('00009','康师傅酸梅汤','饮料');
    insert into yanzhen_goods values('00010','圆珠笔','文具');3. 合计每种类别各业务类型的发生总额;
    select gtype,name,sum(trans) 
      from yanzhen_drpt, yanzhen_goods
        where yanzhen_drpt.code=yanzhen_goods.code
          group by gtype,name ;
    4. 修改文具类的调拨出业务,成本金额、发生金额均增加45.00;
    update yanzhen_drpt 
      set cost=cost+45.00,trans=trans+45.00
        where type='调拨出' and
          code in (select code from yanzhen_goods where gtype='文具');
      
    以上均需在数据库中创建、执行,并提供脚本;
    另一张表中包含如下列属性和记录信息:
    门店代码 门店名称
    1000000 总部
    1000001 测试门店1
    1000002 测试门店2
    1000003 测试门店3
    1. 创建该表,表名定义(注意字段名使用英文):创建者姓名全拼音_STORE;
    2. 插入表中的记录信息;
    3. 查询统配出业务的明细信息,包含发生日期、业务类型、商品代码、商品名称、数量、发生门店代码、发生门店名称、
    收货门店代码、收货门店名称;
    4. 按发生日期和门店汇总查询的销售情况,要求显示:发生日期、发生单位、发生单位代码、零售发生总额;
    5. 按发生日期和门店、类别汇总查询的销售情况,要求显示:发生日期、发生单位、发生单位代码、类别、零售发生总额、
    毛利总额(公式:发生总额-成本总额),并按照毛利总额降序排序;
    以上均需在数据库中创建、执行,并提供脚本;/**
     * 1 创建表
     create table yanzhen_store(
     scode not null primary key,
     sname varchar(20) not null);
     *
     */
     
     insert into yanzhen_store values('1000000','总店');
     insert into yanzhen_store values('1000001','测试门店1');
     insert into yanzhen_store values('1000002','测试门店2');
     insert into yanzhen_store values('1000003','测试门店3');/**
     * 3 查询统配出业务的明细信息,包含发生日期、业务类型、商品代码、商品名称、数量、发生门店代码、发生门店名称、
    收货门店代码、收货门店名称;
     */
    select yd.tdate, yd.type, yd.code, yd.qty,
      yg.name,
      ys.scode,ys.sname,yd.recv_shop
      from yanzhen_drpt yd, yanzhen_goods yg, yanzhen_store ys
        where yd.code=yg.code and type='统配出' 
          and yd.tran_shop=ys.scode;/*
     * 4 按发生日期和门店汇总查询的销售情况,要求显示:发生日期、发生单位、发生单位代码、零售发生总额;
     */
    select yd.tdate,ys.scode,ys.sname,sum(yd.trans)
      from yanzhen_drpt yd, yanzhen_store ys
       where type='零售' and 
         yd.tran_shop=ys.scode
            group by ys.scode;
       
    /*
     *5. 按发生日期和门店、类别汇总查询的销售情况,要求显示:发生日期、发生单位、发生单位代码、类别、零售发生总额、
      毛利总额(公式:发生总额-成本总额),并按照毛利总额降序排序;
     */
     
    select yd.tdate, ys.sname, ys.scode, yd.type,sum(yd.qty*(yd.trans-yd.cost))
      from yanzhen_drpt yd, yanzhen_store ys
        where yd.type='零售' and yd.tran_shop=ys.scode
            group by yd.tdate, ys.sname
              order by sum(trans-cost) desc;