T-SQL query Choose name of clients, concluded more than one loan agreement in 2010
I believe your code will work based on what you provided.  However, I would recommend a couple of changes.


T1 does not need to be part of the result set as you do not retrieve anything from it.  Since it is only used to filter, I've moved it to an exists clause.
Avoid expressions on the data field when comparing to a static or known value.  It takes a bit more typing, but can provide performance benefits in your code.

SELECT  c.cl_full_name AS "ФИО Клиента",
        d2.dl_code AS "Номер договора",
        CAST(d2.dl_valutation_date AS DATE) AS "Дата выдачи"
FROM  deal AS d2
  INNER JOIN client AS c ON c.cl_id = d2.dl_client_id
WHERE EXISTS ( SELECT 1
       FROM deal AS d
       WHERE d.dl_valutation_date &gt;= '20100101'
         AND d.dl_valutation_date &lt; '20110101'
         AND c.cl_id = d.dl_client_id
       GROUP BY d.dl_client_id
       HAVING COUNT(*) &gt; 1)
ORDER BY c.cl_full_name,
 d2.dl_valutation_date ;





UPDATE to respond to comment



Leveraging good performance practices builds a foundation that makes good performance possible.  If there is another part of your query that has a greater impact to performance, the first recommendation may or may not affect performance by itself.  However, it can help to reveal other performance bottlenecks.