SQL server高级 查询问题

来源:百度知道 编辑:UC知道 时间:2024/07/07 09:31:21
3个问题:
有个网上购物系统的数据库 有tbl_Customer,tbl_Order表。
问如何选出三个月内没买东西的顾客。
可以选出三个月内买了书的顾客.用:
select customerID from tbl_Order
where OrderDate between 'time1' and 'time2'
但是如何选择没买个客户,tbl_customer中有所有用户的ID..

2问在一个月最畅销前十的东西:
在Oder表里面有
OrderID,ItemNo, and Qty
好像是统计出Item个数最多的用count(Qty)..什么的同样要结合时间范围。还要先排序,再选select top 10 from ....

3.一个月内买最多东西的顾客
order表中:
OrderID ,ItemNo,Qty, Customer,
最多的顾客。一个顾客可能有很多order,而且一个order中可能不止一个数量。

求高手帮忙解答下。给出基本sql语句的框架。不甚感激。。

1.没有买过东西的顾客
select customerID tbl_Customer where customerID not in (select customerID from tbl_Order
where OrderDate between 'time1' and 'time2' )
2.在一个月最畅销前十的东西:
select top 10 ItemNo ,SUM(Qty)from tbl_Order
where OrderDate between 'time1' and 'time2' group by ItemNo order by sum(Qty) desc
3.一个月内买最多东西的顾客
select top 1 customerID ,SUM(Qty)from tbl_Order where OrderDate between 'time1' and 'time2' group by customerID order by sum(QTY) desc
对你的表结构不是很清楚,但从你的描述大概是这样的

你给出各个表的列属性和名称啊!
1.select customerID from tbl_Order
where dateadd(month,3,注册时日期)>getdate()
2.select top 10 商品id
from 商品表
排序用 order by
3.
select customerID from tbl_Customer
where 通过各个表的关系

1.select customerID from tbl_Order
where OrderDate not between 'time1' and 'time2'
2.no know
3.no know