首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
某书店采用了SQL Server 2008数据库管理系统,该书店有一个需求,需要统计指定年份中每一本书的销售总额,例如:查询2012年所有书的销售总额。 已知图书结构如下: 图书表(书号BOOK_ID,书名BOOK_NAME,单价BOOK—PRIC
某书店采用了SQL Server 2008数据库管理系统,该书店有一个需求,需要统计指定年份中每一本书的销售总额,例如:查询2012年所有书的销售总额。 已知图书结构如下: 图书表(书号BOOK_ID,书名BOOK_NAME,单价BOOK—PRIC
admin
2017-06-27
74
问题
某书店采用了SQL Server 2008数据库管理系统,该书店有一个需求,需要统计指定年份中每一本书的销售总额,例如:查询2012年所有书的销售总额。
已知图书结构如下:
图书表(书号BOOK_ID,书名BOOK_NAME,单价BOOK—PRICE)
销售表(书号BOOK_ID,销售时间SALE_TIME,销售数量SALE_NUM)。
假设单价和销售数量均为int型,书号和书名均为varchar(50)类型,销售时间为datetime型。请给出满足如下要求的多语句表值函数,该函数统计指定年份中每本书的销售总额。
设函数名为:BOOK_PROFIT(@year int),函数的返回结果格式如下:
书号销售总额
B001 60000
A004 50000
选项
答案
CREATE FUNCTION BOOK_PROFIT(@year int) RETURNS@f_BOOK_PROFIT table( 书号varchar(50), 销售总额int) AS BEGIN INSERT INTO@f_BOOK_PROFIT SELECT a.书号,SUM(a.单价*b.销售数量) FROM图书表a JOIN销售表b ON a.书号=b.书号 WHERE year(b.销售时间)=@year GROUP BY a.书号 RETURN END 或者 CREATE FUNCTION BOOK_PROFIT(@year int) RETURNS@f_BOOK_PROFIT table( BOOK_ID varchar(50), PROFIT int) AS BEGIN INSERT INTO@f_BOOK_PROFIT SELECT a.BOOK_ID,SUM(a.BOOK_PRICE*b.SALE_NUM) FROM BOOK a JOIN SALE b ON a.BOOK_ID=b.BOOK_ID WHERE year(b.SALE_TIME)=@year GROUP BY a.BOOK_ID RETURN END
解析
采用JOIN联合查询,先用WHERE条件查出符合销售时间=@year的记录,再将找出的记录和图书表合并,并采用单价*销售数量计算出联合查询的表数据,最后根据GROUP BY统计每种书的销售价格总和。
转载请注明原文地址:https://kaotiyun.com/show/ImlZ777K
本试题收录于:
三级数据库技术题库NCRE全国计算机三级分类
0
三级数据库技术
NCRE全国计算机三级
相关试题推荐
关系数据库中有三种基本操作,从表中取出满足条件的属性成分的操作称为______。
数据库管理系统DBMS用来定义模式、内模式和外模式的语言是______。
设有关系R,S和T如下。关系T是由关系R和S经过______操作得到的。
文件系统中,若文件物理结构采用三级索引结构,如果一个文件大小为1345块,则存储该文件会用到______。
中断处理结束后,需要重新选择运行的进程,此时操作系统将控制转到______。
用直接插入排序方法对序列{15,11,9,10,13}进行排序,关键码比较次数是______。
下列问题基于如下描述:设有一个数据库,包括S、J、P、SJP四个关系模式如下:供应商关系模式S(SNO,SNAME,CITY)零件关系模式P(PNO,PNAME,COLOR,WEIGHT)工程项目关系模式J(JNO,JNAME,CITY)供应情况
在对数据库的系统故障进行恢复时,需要对日志文件进行
在信号量及P、V操作中,每对信号量执行一次P操作,意味着要求,
关系模式A的规范化程度最高达到()。
随机试题
立法机关决策程序中最复杂的一种程序是()
CO2气体保护薄板平对接焊时,采用()焊法。
胆绞痛部位的主要特点是
临床诊断甲减最灵敏的指标是
治癥瘕治挛急作痛
商业银行在取得抵债资产时,要冲减()
普通合伙企业的合伙人发生的与合伙企业无关的债务,相关债权人可以其债权抵销其对合伙企业的债务。()
请简要说明劳动者派遣的成因和特点。
1915年兴起的初期新文化运动的基本内容有()
若,则|a-b|=________.
最新回复
(
0
)