Click here to Skip to main content
15,895,839 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
I am looking to get the average value for orders, and average value for order items from the query below. I would like to get the output in this format:
two columns: "Orders Average" and "OrderItems Average") or in one column with each output in its own row. How can I do that? Thank you.
SQL
SELECT (COUNT(Orders.orderid) / SUM(Inventory.price)) AS Orders_Average,
(COUNT(OrderItems.orderid) / SUM(Inventory.price)) AS OrderItems_Average
FROM  ORDERITEMS LEFT OUTER JOIN
               Inventory ON OrderItems.partid = Inventory.partid RIGHT OUTER JOIN
               Orders ON OrderItems.orderid = Orders.orderid
Posted
Updated 19-Jan-13 7:54am
v2

1 solution

Shouldn't the formula be opposite for average calculation? Further, looks like an INNER join should do it for you.
SQL
SELECT 
   (SUM(Inventory.price) / COUNT(Orders.orderid)) AS Orders_Average,
   (SUM(Inventory.price) / COUNT(OrderItems.orderid)) AS OrderItems_Average
FROM  
    ORDERITEMS 
INNER JOIN
     Inventory ON OrderItems.partid = Inventory.partid 
INNER JOIN
     Orders ON OrderItems.orderid = Orders.orderid
 
Share this answer
 
Comments
7prince 19-Jan-13 16:11pm    
yes. That is right. I switched it to SELECT
(SUM(Inventory.price) / COUNT(Orders.orderid)) AS Orders_Average,
(SUM(Inventory.price) / COUNT(OrderItems.orderid)) AS OrderItems_Average
But inner join doesn't work as it gives the same amount for both averages.

P.S. The number of orders in the ORDERS table is different from the number of orders in the ORDERITEMS table.

so after modifying the query:

SELECT SUM(Inventory.price) / COUNT(Orders.orderid) AS Orders_Average, SUM(Inventory.price) / COUNT(OrderItems.orderid) AS OrderItems_Average

FROM OrderItems LEFT OUTER JOIN
Inventory ON OrderItems.partid = Inventory.partid RIGHT OUTER JOIN
Orders ON OrderItems.orderid = Orders.orderid
it gives slightly differnt averages now. Any feedback if this one is correct or not/ thank you

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900