Here is a quite different approach using subqueries.
With having both sell and buy orders you mean sell/buy on the same date or on different dates too?
Here is it with Date:
Code:
SELECT * FROM MyTable INNER JOIN (SELECT Ticker, Date, COUNT([Order Type]) AS OrderTypeCount FROM (SELECT DISTINCT Ticker, Date, [Order Type] FROM MyTable)) AS OrderTypeCountByTickerAndDate ON MyTable.Ticker = OrderTypeCountByTickerAndDate.Ticker AND MyTable.Date = OrderTypeCountByTickerAndDate.Date WHERE OrderTypeCountByTickerAndDate.OrderTypeCount > 1
and here without:
Code:
SELECT * FROM MyTable INNER JOIN (SELECT Ticker, COUNT([Order Type]) AS OrderTypeCount FROM (SELECT DISTINCT Ticker, [Order Type] FROM MyTable)) AS OrderTypeCountByTicker ON MyTable.Ticker = OrderTypeCountByTicker.Ticker WHERE OrderTypeCountByTicker.OrderTypeCount > 1
You can split up the query by defining subqueries for the derived tables if you like. Makes it much easier to maintain and understand.