Could you perhaps do the following?
DECLARE @lastid INT;
SELECT TOP 1 @lastid = lastid FROM parametertable;
SELECT t.* FROM transactionstable t
WHERE t.id > @lastid;You could join the tables like shown below, but (my untested and unsubstantiated opinion is that) that may not perform any better than what you already tried:
FROM transactionstable t
INNER JOIN parametertable p ON t.id > p.lastid;
-- Yes, I am indeed a fictional character.