急求一题SQL的答案
假设有一个书店,书店的管理者要对书店的经营状况进行管理,需要建立一个数据库,其中包括两个表:存书(书号,书名,出版社,版次,出版日期,作者,书价,进价,数量)销售(日期,...
假设有一个书店,书店的管理者要对书店的经营状况进行管理,需要建立一个数据库,其中包括两个表:
存书(书号,书名,出版社,版次,出版日期,作者,书价,进价,数量) 销售(日期,书号,数量,金额)
1)掌握书的库存情况,列出当前库存的所有书名,数量,余额
2)统计总销售额
3)列出每天的销售列表,包括书名、数量和合计金额(每一种书的销售总额)
4)分析畅销书,即列出本期(从当前日期起向前30天)销售数量大于100的书名、数量 展开
存书(书号,书名,出版社,版次,出版日期,作者,书价,进价,数量) 销售(日期,书号,数量,金额)
1)掌握书的库存情况,列出当前库存的所有书名,数量,余额
2)统计总销售额
3)列出每天的销售列表,包括书名、数量和合计金额(每一种书的销售总额)
4)分析畅销书,即列出本期(从当前日期起向前30天)销售数量大于100的书名、数量 展开
2个回答
展开全部
1)Select 存书.书名,存书.数量,销售.金额 From 存书 Inner Join 销售 On 存书.书号 = 销售.书号
(余额 ====应该是金额吧~~哪有什么余额)
这就是一个内联查询
2)Select Sum(金额) as 总销售额 From 销售
聚合函数
3)Select 存书.书名,销售.数量,Sum(销售.金额) As 合计金额 From 存书 Inner Join 销售 On 存书.书号 = 销售.书号 Group by 销售.日期,存书.书号
两次分组查询
4)Select 存书.书名,存书.数量 From 存书 Inner Join 销售 On 存书.书号 = 销售.书号 Where 销售.数量 > 100 and 销售.日期 >= dateadd(dd,-30,getdate()) group by 销售.数量 DESC
内联查询、排序、日期函数(getdate()获取当前日期,dateadd()在某日期上加一或减去一定时间)
再怎么也应该给点分吧~~~加分给我
(余额 ====应该是金额吧~~哪有什么余额)
这就是一个内联查询
2)Select Sum(金额) as 总销售额 From 销售
聚合函数
3)Select 存书.书名,销售.数量,Sum(销售.金额) As 合计金额 From 存书 Inner Join 销售 On 存书.书号 = 销售.书号 Group by 销售.日期,存书.书号
两次分组查询
4)Select 存书.书名,存书.数量 From 存书 Inner Join 销售 On 存书.书号 = 销售.书号 Where 销售.数量 > 100 and 销售.日期 >= dateadd(dd,-30,getdate()) group by 销售.数量 DESC
内联查询、排序、日期函数(getdate()获取当前日期,dateadd()在某日期上加一或减去一定时间)
再怎么也应该给点分吧~~~加分给我
展开全部
我没有直接用表名 ,你自己可以将 存书 ,销售,直接换成英文的表名, 字段 也可以换成列明
1,select 存书.书名,销售.数量,销售.金额 from 存书 left join 销售 on 存书.书号 = 销售.书号
2, select sum(数量*金额) from 销售
3,select 存书.书名 as 书名,销售.数量 as 数量,销售.金额*销售.数量 as 合计金额 from 存书 left join 销售 on 存书.书号 = 销售.书号 where 销售.日期=当前你所需要日期
4, select 存书.书名,销售.数量,销售.金额 from 存书 left join 销售 on 存书.书号 = 销售.书号 where 销售.数量>100 and 销售.日期> (根据自己的数据库 使用日期函数 ,确定30天前的日期 )
数据库不同 日期处理的函数也不完全你相同,需要根据你自己使用的数据库来咯
1,select 存书.书名,销售.数量,销售.金额 from 存书 left join 销售 on 存书.书号 = 销售.书号
2, select sum(数量*金额) from 销售
3,select 存书.书名 as 书名,销售.数量 as 数量,销售.金额*销售.数量 as 合计金额 from 存书 left join 销售 on 存书.书号 = 销售.书号 where 销售.日期=当前你所需要日期
4, select 存书.书名,销售.数量,销售.金额 from 存书 left join 销售 on 存书.书号 = 销售.书号 where 销售.数量>100 and 销售.日期> (根据自己的数据库 使用日期函数 ,确定30天前的日期 )
数据库不同 日期处理的函数也不完全你相同,需要根据你自己使用的数据库来咯
参考资料: sql
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询