2010-04-16 46 views
0

我该如何编写一个查询,该查询返回过去x个月中加利福尼亚州的汇总销售数据。加入两个表并获取汇总数据

-----------------------  ----------------------- 
|   order   |  |  customer  | 
|-----------------------|  |-----------------------| 
| orderId  int  |  | customerId  int | 
| customerId int  |  | state   varchar | 
| deposit  decimal |  ----------------------- 
| orderDate  date | 
----------------------- 


        ----------------------- 
       |  orderItem  | 
       |-----------------------| 
       | orderId  int  | 
       | itemId  int  | 
       | qty   int  | 
       | lineTotal decimal | 
       | itemPrice decimal | 
        ----------------------- 
+0

你尝试过什么?对于什么数据库?我很少看到使用格式设置的全新帐户帖子... – 2010-04-16 20:19:15

+0

您希望聚合什么?总销售额,客户订单数量,总存款数量,销售的总数量? – TLiebe 2010-04-16 20:20:08

+0

我喜欢格式! :) – Kiril 2010-04-16 22:54:09

回答

1

假设你正在寻找总数的qty对所有order s的位于'CA'customer s分别orderItem(如果你想总结等领域,应该不会太难修改查询):

SELECT 
    SUM(oi.qty) as TotalQuantitySold 
FROM 
    orderItem oi 
    INNER JOIN order o 
     ON oi.orderId = o.orderId 
    INNER JOIN customer c 
     ON o.customerId = c.customerId 
WHERE 
    c.state = 'CA' 
    AND DATEDIFF(month, o.orderDate, <some fixed date>) 

DATEDIFF是从T-SQL,以及计算的时间差可能取决于你的平台上

+0

教鱼,不发鱼。 – Broam 2010-04-16 20:22:19

+0

对于从具体的答案中学习,还有些东西需要说明。他是一个全新的用户,所以我削减了他一些松懈。 – 2010-04-16 20:41:51