SELECT Item.Item_Code,Item.name,COUNT(order_Detail.ItemCode) ; FROM Inventory!Item LEFT OUTER JOIN Inventory!Order_Detail ; ON Item.Item_code = Order_detail.Item_code ; GROUP BY 2 ; INTO CURSOR MyResultYou need a GROUP BY or else the COUNT() field will be a bunch of 1's. Also you don't need SYS(2015) for the cursor name, cursors all purely local to the machine running the query and you can use meaningful names for them.
SELECT Item.Item_Code,Item.name,COUNT(order_Detail.ItemCode) ; FROM Inventory!Item, Inventory!Order_Detail ; WHERE Item.Item_code = Order_detail.Item_code ; UNION ALL ; SELECT Item.Item_Code,Item.name,0; FROM Inventory!Item ; WHERE Item.Item_code NOT IN(SELECT Item_code FROM Order_detail) ; GROUP BY 2 ; INTO CURSOR MyResult