sql server,需要为日期范围内的每个客户获取每个项目的总项目数量

时间:2014-05-09 08:41:06

标签: sql-server

我有2个关系表订单和order_items 订单已

  • ID

  • CUSTOMER_NAME

  • DELIVERY_DATE

order_items有

  • ORDER_ID
  • 项目
  • 单元
  • 数量

我需要查看每个客户在指定日期范围内订购的每个项目/单位组合的数量(即总和(数量))。

我认为可以做到的唯一方法是使用C#或vb.net并首先为日期范围创建具有不同项目/单位组合的数据表。 我会遍历这些项目/单位,并在该日期范围内为客户获取总数,并将它们添加到另一个数据表中。

有没有办法在sql中单独执行此操作?

1 个答案:

答案 0 :(得分:0)

是的,有:

SELECT customer_name, item, unit, SUM(Qty) as totals
FROM orders o INNER JOIN order_items oi 
  ON o.id = oi.order_id
WHERE o.delivery_date BETWEEN @datefrom AND @dateto
GROUP BY  customer_name, item, unit
ORDER BY  o.delivery_date