应用题

设在SQL Server 2008某数据库中,有图书表(书号,书名,单价)和销售表(书号,销售时间,销售数量),假设单价和销售数量均为int类型,书号和书名均为varchar (50.类型,销售时间为datetime类型。请给出创建满足如下要求的多语句表值函数,该函数统计指定年份中侮本书的销售总额。设函数名为:f_BookProfit(@year int ),函数的返回结果格式如下:
书名销售总额13001   60000

【正确答案】

CREATE FUNCTION f BookProfit (@year int) RETURNS@仁BookProfit table(书号varchar (50.,
销售总额int)
AS
BEGIN
INSERT INTO@f_BookProfit
SELECT a.书号,SUM(单价*销售数量)
FROM图书表a JOIN销售表b ON a.书号=b.书号
WHERE year(销售时间)=@year
GROUP BY a书号
RETURN
END

【答案解析】