zoukankan      html  css  js  c++  java
  • 请编写sql多语句表值函数统,计指定年份中每本书的销售总额

    create table 图书表(  书号 varchar(50),  书名 varchar(50),  单价 int )
    
    create table 销售表(  书号 varchar(50),  销售时间 datetime,  销售数量 int )
    
    alter table 图书表 alter column 书号 varchar(50) not null;
    
    alter table 图书表 add constraint pk_tushubiao_shuhao primary key (书号) ;
    
    alter table 销售表 add constraint fk_xiaoshoubiao_shuhao foreign key (书号) references 图书表(书号);
    
    
    insert into 图书表 values('b001', '平凡的世界', 50);
    insert into 图书表 values('b002', '血色浪漫', 60);
    insert into 图书表 values('b003', '蓝色生死恋', 30);
    
    insert into 销售表 values('b001', '2012/03/15', 10);
    insert into 销售表 values('b001', '2012/03/16 2:30:15', 10);
    insert into 销售表 values('b001', '2013/08/16 22:10:37', 10);
    insert into 销售表 values('b002', '2013/03/25 22:10:37', 10);
    insert into 销售表 values('b002', '2013/01/16 22:10:37', 13);
    insert into 销售表 values('b002', '2012/08/16 10:20:55', 28);
    insert into 销售表 values('b003', '2012/07/15 20:56:27', 33);
    insert into 销售表 values('b003', '2012/12/6 21:33:59', 66);
    
    select a.书名, 单价, 销售数量, 销售时间 from 图书表 a, 销售表 b where a.书号=b.书号 and YEAR(销售时间) = '2012';
    select a.书名, sum(单价*销售数量) as 销售总额 from 图书表 a, 销售表 b where a.书号=b.书号 and YEAR(销售时间) = '2012' group by a.书名;
    
    create procedure sp_BookProfit
    @year integer
    as
    begin
        select a.书名, sum(单价*销售数量) as 销售总额 from 图书表 a, 销售表 b where a.书号=b.书号 and YEAR(销售时间) = @year group by a.书名;
    end
    
    exec sp_BookProfit 2012;
    create function f_BookProfit (@year integer)
    returns @f_BookProfit table(书名 varchar(80), 销售总额 integer)
    as
    begin
        insert into @f_BookProfit select a.书名, sum(单价*销售数量) as 销售总额 from 图书表 a, 销售表 b where a.书号=b.书号 and YEAR(销售时间) = @year group by a.书名;
        return;
    end
    
    select * from dbo.f_BookProfit(2012);
  • 相关阅读:
    ServU和win2003防火墙的设置
    面试题02.05 链表求和
    【每日一题】LeetCode1. 两数之和
    【每日一题】Leetcode50. Pow(x,n)
    ASP连接查询access和sqlserver的代码
    各种播放器(视频点播)代码大全 
    电脑操作最忌讳的小动作
    网络小知识
    C#、Java比较
    10年互联网十大失败案例
  • 原文地址:https://www.cnblogs.com/sinodragon21/p/4354410.html
Copyright © 2011-2022 走看看