急求一题SQL的答案

2024-12-03 03:55:47
推荐回答(2个)
回答1:

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:

我没有直接用表名 ,你自己可以将 存书 ,销售,直接换成英文的表名, 字段 也可以换成列明
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天前的日期 )
数据库不同 日期处理的函数也不完全你相同,需要根据你自己使用的数据库来咯