2014-08-28 49 views
1

我希望爲某個表的財務年度中的客戶返回平均訂單價值(訂單中所有訂單項的總和爲Qty * Price,然後爲平均訂單總額)看起來像下面創建查詢以返回客戶訂單的平均交易

財務年度爲公曆1日/月/年(可通行證在動態地設置了一個param) 財務年度結束30日/月/年(可在動態傳遞的PARAM) 用戶ID(可以動態方式作爲參數傳入)

Orders Table 
-OrderID 
-UserID 
-OrderDate 

OrderItems Table 
-OrderItemID 
-OrderID 
-Qty 
-Price 

我正在使用腳本語言小號ColdFusion和數據庫是MSSQL

感謝所有爲您的時間

CHRIS

回答

2

不熟悉的ColdFusion。

的SQL是

SELECT o.UserID, AVG(oi.OrderTotal) AverageOrderValue 
FROM Orders o 
     INNER JOIN 
     (SELECT OrderID, SUM(Qty*Price) OrderTotal 
     FROM OrderItems 
     GROUP BY OrderID) oi ON o.OrderID=oi.OrderID 
WHERE o.OrderDate BETWEEN @StartDate AND @EndDate 
+0

非常感謝,這個效果很好。我不知道從哪裏開始。 – 2014-08-28 04:13:01

1
declare 
@first_param datetime='01-01-2001' 
@last_param datetime='01-07-2014' 
begin 

select AVG(orderid_cnt),sum_qty,a.user_id from (
select sum(b.qty*b.price) as sum_qty,orderid,COUNT(orderid) as orderid_cnt 

From orders a 
inner join orderitems b 
on a.orderid=b.orderid 
group by orderid) a 
inner join orders a1 
on a.orderid=a1.orderid