首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
某书店采用了SQL Server 2008数据库管理系统,该书店有一个需求,需要统计指定年份中每一本书的销售总额,例如:查询2012年所有书的销售总额。 已知图书结构如下: 图书表(书号BOOK_ID,书名BOOK_NAME,单价BOOK_PRIC
某书店采用了SQL Server 2008数据库管理系统,该书店有一个需求,需要统计指定年份中每一本书的销售总额,例如:查询2012年所有书的销售总额。 已知图书结构如下: 图书表(书号BOOK_ID,书名BOOK_NAME,单价BOOK_PRIC
admin
2018-06-19
61
问题
某书店采用了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*bSALE_NUM) FROM BOOK a JOIN SALE b ON a.BOOK_ID=b.BOOK_ID WHERE year(bSALE_TIME)=@year GROUP BY a.BOOK_ID RETURN END
解析
采用JOIN联合查询,先用WHERE条件查出符合销售时间=@year的记录,再将找出的己录和图书表合并,并采用单价*销售数量计算出联合查询的表数据,最后根据GROUP BY充计每种书的销售价格总和。
转载请注明原文地址:https://www.kaotiyun.com/show/DXlZ777K
本试题收录于:
三级数据库技术题库NCRE全国计算机三级分类
0
三级数据库技术
NCRE全国计算机三级
相关试题推荐
数据库规范化理论中,在执行关系模式分解时,必须遵守的原则是:保持无损连接和()。
事务有多个性质,其中不包括()。
IBMDB2对关系型数据库进行面向对象的支持,主要包括:用户定义数据类型(UDT)、用户定义函数(UDF)和大对象(LOB),形成新一代【】数据库系统。
在层次数据库中,父片段和子片段之间只能具有【】类型的联系。
数据管理经过了人工管理、文件系统和【】3个发展阶段。
SQL语言集数据定义功能、数据操纵功能和数据控制功能于一体。如下所列语句中,哪一个是属于数据控制功能的?
在以下所列的条目中,哪些是数据库管理员的职责? Ⅰ.负责管理企业组织的数据库资源 Ⅱ.收集和确定有关用户的需求 Ⅲ.设计和实现数据库并按需要修改和转换数据 Ⅳ.为用户提供资料和培训方面的帮助
以下关于链式存储结构的叙述中哪一条是不正确的?()
在SQL语言的SELECT语句中,实现投影操作的是哪个子句?
随机试题
32位字长的计算机就是指能处理最大为32位十进制数的计算机。()
患者女,65岁。皮肤、巩膜黄染30天,伴皮肤瘙痒、厌食、乏力、消瘦、小便黄、大便发白等;既往史无特殊。体检:皮肤、巩膜黄染,腹部无压痛反跳痛,肝区无叩击痛,可及肿大的胆囊,腹水征阴性。实验室检查:TBIL:25mg/dl、DBIL:20mg/dl、CAl9
下列不属于项目法人分包管理职责的是()。
只要一国的国际收支平衡表是平衡的,该国的国际收支就是平衡的。()
ETF的申购、赎回与开放式证券投资基金的申购、赎回的本质区别在于()。
阅读下面材料,回答问题。没有任何借口在西点,长官曾问我:“你为什么不把鞋擦亮?”我说:“我太忙,没时间擦。”这样的回答得到的只能是一顿训斥,正确的回答只能是“报告长官,没有任何借口。”
不满14岁的人实施违反治安管理的,由其监护人承担法律责任。()
一项研究指出,优质护理可以增加患者治愈的信心,在临床上广泛应用可以加快患者康复的时间,使患者康复得更好。因此有专家指出:医院提供优质护理可以大大减少医患纠纷。下列哪项为真,最能支持上述论断?
2015年年末,全国总人口137462万人。比上年年末增加680万人,其中城镇常住人口77116万人,占总人口比重(常住人口城镇化率)为56.10%,比上年年末提高1.33个百分点。全年出生人口1655万人,出生率为12.07%,死亡人口975万人,死亡率
Butsomeb00kswouldcostmorethanlhave.Butldidn’t______tobuysomeb00ks.
最新回复
(
0
)