• I'm trying to avoid having to use a loop, your suggestion would require a loop through each skill set type. Trying to keep it as one query.

    Could it be possible in the FROM?

    SELECT tblDenyActivity.DenyDateUserID, tblDenyActivity.DenyDate FROM dbo.tblActivity AS tblDenyActivity INNER JOIN

    dbo.tblUserData ON tblDenyActivity.DenyDateUserID = dbo.tblUserData.UserID AND tblDenyActivity.InvalidDate IS NULL AND (SELECT dbo.tblSkillsetType.SQLSnippet FROM dbo.tblSkillsetType WHERE dbo.tblSkillsetType.SkillsetTypeID = tblExpectations.SkillsetTypeID) INNER JOIN dbo.tblUserSkillset ON dbo.tblUserData.UserID = dbo.tblUserSkillset.UserID INNER JOIN dbo.tblSkillsetType ON dbo.tblUserSkillset.SkillsetTypeID = dbo.tblSkillsetType.SkillsetTypeID

    tblExpectations.SkillsetTypeID is from the larger dynamic query.

    No worries on the SQL injection, string is parsed by the application before being sent to the sp.