首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
某书店采用了SQL Server 2008数据库管理系统,该书店有一个需求,需要统计指定年份中每一本书的销售总额,例如:查询2012年所有书的销售总额。 已知图书结构如下: 图书表(书号BOOK_ID,书名BOOK_NAME,单价BOOK_PRICE) 销
某书店采用了SQL Server 2008数据库管理系统,该书店有一个需求,需要统计指定年份中每一本书的销售总额,例如:查询2012年所有书的销售总额。 已知图书结构如下: 图书表(书号BOOK_ID,书名BOOK_NAME,单价BOOK_PRICE) 销
admin
2019-07-07
50
问题
某书店采用了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://jikaoti.com/ti/Fn37FFFM
本试题收录于:
三级数据库技术题库NCRE全国计算机三级分类
0
三级数据库技术
NCRE全国计算机三级
相关试题推荐
数据库设计的概念结构设计阶段,表示概念结构的常用方法和描述工具是
在数据模型中,把描述实体的数据称为记录,而把描述实体属性的数据称为【】。
关系模型用【】结构来表示实体及其联系,它是目前应用最广泛的一种数据结构。
在SQL语句定义查询范围时,谓词in可以用来查找属性值属于指定集合的元组,它实现“【】”运算。
在数据约束条件中,【】用来限定符合数据模型的数据状态,以及状态的变化,以保证数据的正确、有效和相容。
设事务T1和T2,对数据库中的数据X进行操作,可能有如下几种情形,请问以下不会发生冲突操作。
一个信息表student,要求它由学号sno,姓名sname,性别sex,年龄age,4个属性组成。现在对这个现有的表增加一个入学时间cometime字段为日期型,下列语句正确的是______。
在数据库应用中,一般一个SQL语句可产生或处理一组记录,而数据库主语言语句一般一次只能处理一个记录,其协调可通过下列_________技术来实现。
随机试题
关于化学突触传递,下列说法正确的是()。
他们已经十年没见面了。
对于易溶于水,在水溶液中不稳定的药物,可制成哪种类型注射剂()
在相对固定的周期内,企业应收账款周转率越高,说明企业应收账款管理的状况有()。
见票即付的汇票,自出票日起()内向付款人提示付款。
以下属于汽车产品外观性能的是()
根据我国国家外汇管理局的定义,我国外债不包括()。
审核建设工程的消防设施是消防工作的一项重要任务。()
PASSAGEFOURWhyisIt’saWonderfulLifementionedinparagraphthree?
Attheparty,everybodycongratulatedthescientist______winningtheawardafterhisyearsofhardwork.
最新回复
(
0
)