Click here to Skip to main content
15,891,372 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
I am trying to get average dollar value for Orders and getting it until I add the subquery below which is supposed to give me average dollar value for OrderItems as well. I am getting "Incorrect syntax near the keyword 'AS'". What is that I am not doing right? Thank you.

P.S. not all the Orders are in the ORDERITEMS table.

SQL
SELECT COUNT(Orders.orderid) / SUM(Inventory.price) AS Orders_Average
FROM  ORDERITEMS LEFT OUTER JOIN
               Inventory ON OrderItems.partid = Inventory.partid RIGHT OUTER JOIN
               Orders ON OrderItems.orderid = Orders.orderid
               
WHERE NOT EXISTS 
(SELECT *   
FROM  ORDERITEMS
WHERE OrderItems.orderid <> Orders.orderid
GROUP BY ORDERITEMS.orderid
HAVING COUNT(ORDERITEMS.orderid) / SUM(Inventory.price) AS OrderItems_Average )
Posted
Updated 17-Jan-13 19:53pm
v2
Comments
7prince 18-Jan-13 13:05pm    
I cahnged ny code to: How can I show "average dollar value for Orders" and "average dollar value for OrderItems" side by side in columns.

SELECT (COUNT(Orders.orderid) / SUM(Inventory.price)) AS Orders_Average
FROM ORDERITEMS LEFT OUTER JOIN
Inventory ON OrderItems.partid = Inventory.partid RIGHT OUTER JOIN
Orders ON OrderItems.orderid = Orders.orderid

WHERE NOT EXISTS
(SELECT *
FROM ORDERITEMS
WHERE OrderItems.orderid <> Orders.orderid
GROUP BY ORDERITEMS.orderid)

you can not use alias in having clause. you should be getting it in the last line "AS OrderItems_Average".
 
Share this answer
 
HI,

Change your code to :

SELECT (COUNT(Orders.orderid) / SUM(Inventory.price)) AS Orders_Average
FROM  ORDERITEMS LEFT OUTER JOIN
               Inventory ON OrderItems.partid = Inventory.partid RIGHT OUTER JOIN
               Orders ON OrderItems.orderid = Orders.orderid
               
WHERE NOT EXISTS 
(SELECT *   
FROM  ORDERITEMS
WHERE OrderItems.orderid <> Orders.orderid
GROUP BY ORDERITEMS.orderid)


NO need to define the having clause with aliase name.

Thanks
 
Share this answer
 

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