is the CAC card number in table anyplace, or can it be used to get CACNumber +email, so it can be joined to your ADObj table?
your snippet was incomplete/not syntactically correct, but you might be able to use a case statement to join the data?
SELECT * FROM T1
INNER JOIN SomeTableWithCAC C1 ON T1.Something = C1.Something --CAC# to login reference?
left outer join dbo.ADObj T2
on CASE
WHEN IsNumeric(substring(T1.login_name,1,charindex('@',T1.login_name+'@')-1)) = 1
THEN C1.LoginName
ELSE substring(T1.login_name,1,charindex('@',T1.login_name+'@')-1)
END = T2.ADAccountName
Lowell