The first thing you should do is run that statement through EXPLAIN to see what your query is doing.
In SSMS, make sure you have the database selected and open a new query window. Paste your SQL into the window, then choose Query -> display estimated execution plan (Ctrl + L)
The query plan is displayed in the window at the bottom. Look at the plan, it will tell you where things are taking time (percentage relative to batch) If you are unfamiliar with plans, have a look here...
You could also run your query through the tuning advisor to see if any indexes are recommended. However, if table titlefee is the table with the most records, you need to consider the operations you are performing against it.
1) You are limiting the results from this table by field dtIssue. Is this field part of an index, or is it causing a table scan (look in your execution plan)
2) You are summarising by field curAmount - this could possibly be indexed.
Using the execution plan + query tuning advisor, you should be able to index your tables for optimal performance.
However, by introducing indexes, you have to weigh that up against how often the table is updated \ the process that updates the data (e.g user application? overnight ETL?). It can be a bit of a dark art to get the correct balance of READ against WRITE performance :)