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