I currently have a select statement that changes based on a condition:
if @LoadUsage = '|CreateBatch|'
begin
-- Do lookup on ClaimNumber and InterchangeName provided
-- Use @version scalar to filter latest InputAdjustmentVersion
select @ClaimSubmissionNumber = CS.ClaimSubmissionNumber
from ClaimSubmissions CS inner join Claims C on C.ClaimID = CS.ClaimID
inner join InterchangeInfo I on CS.InterchangeId = I.InterchangeId
where I.InterchangeName = @InterchangeName
and C.ClaimNumber = @ClaimNumber
and CS.SubmissionStatus in (select SubmissionStatus from @AllowedSubmissionStatus)
and Cs.InputAdjustmentVersion = @Version
end
else
begin
-- Do lookup on ClaimNumber and InterchangeName provided
select @ClaimSubmissionNumber = CS.ClaimSubmissionNumber
from ClaimSubmissions CS inner join Claims C on C.ClaimID = CS.ClaimID
inner join InterchangeInfo I on CS.InterchangeId = I.InterchangeId
where I.InterchangeName = @InterchangeName
and C.ClaimNumber = @ClaimNumber
and CS.SubmissionStatus in (select SubmissionStatus from @AllowedSubmissionStatus)
end
If the @LoadUsage
scalar is '|CREATEBATCH|'
, I add another check ( and Cs.InputAdjustmentVersion = @Version
) to the where clause. Is there a way to do this with a case statement in the where clause instead of having two different select statements?