why do you need @t twice? wont this suffice?
INSERT INTO HFC.dbo.ERRORS (TABLENAME, ROW_ID, MPI, ERRORMSG)
SELECT @tablename AS TableName,
ROW_ID,
MPI,
'No Matching record' AS ErrorMSG
FROM @t sp
WHERE NOT EXISTS
(SELECT 1
FROM eli.dbo.Elig e
JOIN eli.dbo.Accounts ea ON ea.AccountID = e.ACCOUNTID
JOIN LFL.dbo.Accounts la ON la.AcctID = ea.Acctid
JOIN LFL.dbo.pa p ON p.AccountID = la.ACCOUNTID
AND p.SSNum = e.HCNID
WHERE e.EID = sp.E_ID
);
------------------------------------------------------------------------------------------------------
SQL Server MVP
http://visakhm.blogspot.com/