Если у вас есть несколько строк T3 на T2.Sno = T3.Gid
, вам потребуется DISTINCT в JOIN.
- Без DISTINCT это другой запрос
- С DISTINCT этодополнительный шаг.
Я бы использовал NOT EXISTS, чтобы избежать этого.
SELECT
T2.Sno,
T2.Name,
T1.description,
T2.UserCode
FROM
Table1 AS T1 (nolock)
INNER JOIN T2 (nolock)
ON T1.UserCode = T2.UserCode
WHERE
g.xid= @p_xid
and not exists (select * from T3 (nolock) where T3.Gid = T2.Sno)