Hi guys, I’d greatly appreciate if someone could help me with this or give me some pointers. I am trying to create a stock scanner which allows users to filter stocks based on multiple criteria that they select.

Like the following example with 2 criteria:

Criteria 1 Filtered Result: StockA, StockB, StockC, StockD
Criteria 2 Filtered Result: Stock B, Stock C, StockE, StockF

SCANNER RESULT: Stock B, StockC (ideally this result would be displayed in a GridView)

Now this seems like an easy task for a simple SQL JOIN statement, but the problem is that the SQL statements I’ve written for some criteria are already so complex that it’s unthinkable to combine them further by using a SQL JOIN statement.

I think the only way to accomplish this is to put each criteria-filtered result into an array or datatable, and then try to query to see which stocks exist in all the arrays/datatable (in other words satisfy all criteria), and to display these stocks in a gridview. After doing some research online, it is possible to do query from multiple datatables by either using:

JOINVIEW(DataRelation) or LINQ

But which one is the best method (if it works)? I didn’t consider using a loop for this since it would be too inefficient, especially if a user select many criteria.

I’d greatly appreciate if someone could give me some suggestions or simple syntax I can use to achieve this. Thanks in advance!