首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

两个表售卖排行榜的查询

2012-08-22 
两个表售销排行榜的查询有两个表,一个是人员表User表 一个是销售表Order表表情况如下:User表UserIDUserNam

两个表售销排行榜的查询
有两个表,一个是人员表User表 一个是销售表Order表

表情况如下:

User表

UserID UserName
  1 小一
  2 小二
  3 小三
  4 小四


Order表 
  OrderID OrderName OrderUnit OrderNum UserID
  1 产品一 3 1 2

  2 产品二 5 1 1

  3 产品四 3 1 2

  4 产品一 3 1 2

  5 产品三 3 1 2

  6 产品二 5 1 3

  7 产品一 3 1 2
   

想做一个按售销排行榜

比如第一名是谁 销售是多少!这样子排开

[解决办法]
你这个订单表设计的有点。。。

SQL code
--按订单数select User.UserID,    min(User.UserName) 姓名,    count([Order].OrderID) 订单数量from [User] left join [Order] on User.UserID=[Order].UserIDgroup by User.UserIDorder by 订单数量 desc;--按销售数select User.UserID,    min(User.UserName) 姓名,    sum(OrderUnit*OrderNum) 销售数量from [User] left join [Order] on User.UserID=[Order].UserIDgroup by User.UserIDorder by 销售数量 desc;
[解决办法]
SQL code
--各个产品的销量情况select b.[UserName],a.[OrderName],sum(a.[OrderUnit]*a.[OrderNum]) 销量 from [Order] a,[User] bwhere a.[UserID]=b.[UserID]group by b.[UserName],a.[OrderName]order by a.[OrderName],sum(a.[OrderUnit]*a.[OrderNum]) desc--总的销量情况select b.[UserName],sum(a.[OrderUnit]*a.[OrderNum]) 销量 from [Order] a,[User] bwhere a.[UserID]=b.[UserID]group by b.[UserName]order by sum(a.[OrderUnit]*a.[OrderNum]) desc
[解决办法]
探讨

引用:
/*
排名 UserID UserName 销售
-------------------- ----------- -------- -----------
1 2 小二 15
2 3 ……

热点排行