SQL Server 2008, diferentes cláusulas WHERE com uma consulta

Eu tenho um procedimento armazenado que leva as mesmas colunas, mas com diferentesWHERE cláusula.

Algo assim.

SELECT
     alarms.startt, alarms.endt, clients.code, clients.Plant,
     alarms.controller, alarmtype.atype, alarmstatus.[text]
FROM alarms
INNER JOIN clients ON alarms.clientid = clients.C_id 
INNER JOIN alarmstatus ON alarms.statusid = alarmstatus.AS_id
INNER JOIN alarmtype ON alarms.typeid = alarmtype.AT_id

e eu coloquei a mesma consulta em 3 if (condições) onde oWHERE cláusula muda de acordo com o parâmetro passado em uma variável.

Eu tenho que escrever a corda inteira repetidamente para cada condição em cada se?

Ou posso otimizá-lo para uma única vez e a única coisa que mudará será a cláusula WHERE?

questionAnswers(6)

yourAnswerToTheQuestion