View Single Post
Old Sep 5th, 2007, 10:51 AM   #2
jonyzz
Programmer
 
jonyzz's Avatar
 
Join Date: Aug 2005
Location: null
Posts: 40
Rep Power: 0 jonyzz is on a distinguished road
Yep I just made a nice experiment and it turned out it works !!! Maybe I was too fast in posting the question when I was just on the edge of the answer but I have been scratching my head upon this query for two days Well it might be useful for someone anyway, so I will post my creation All I did was to paste the code that creates the #temp tables in the places of their names in the last query. And put brackets around it as well. Here it is:

SELECT Client.[Name], b.Buy - s.Sell AS 'Turnover'
FROM Client 
	INNER JOIN
		((SELECT [Order].ClientId, SUM(OrderItem.Quantity*OrderItem.Price) AS 'Buy'
			FROM OrderItem 
				INNER JOIN [Order] 
				ON [Order].Id = OrderItem.OrderId
			WHERE [Order].OrderTypeId=
				(SELECT Id FROM OrderType WHERE [Name] = 'buy')
			GROUP BY([Order].ClientId)) AS b
		INNER JOIN (SELECT [Order].ClientId, SUM(OrderItem.Quantity*OrderItem.Price) AS 'Sell'
					FROM OrderItem 
						INNER JOIN [Order] 
						ON [Order].Id = OrderItem.OrderId
					WHERE [Order].OrderTypeId=
						(SELECT Id FROM OrderType WHERE [Name] = 'sell')
					GROUP BY([Order].ClientId)) AS s
			ON b.ClientId = s.ClientId)
	ON Client.Id = s.ClientId
WHERE b.Buy - s.Sell > 0
jonyzz is offline   Reply With Quote