SQL Server 2008, diferentes cláusulas WHERE con una consulta

Tengo un procedimiento almacenado que toma las mismas columnas pero con diferentesWHERE cláusula.

Algo como esto.

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

y puse la misma consulta en 3 if's (condiciones) donde elWHERE La cláusula cambia de acuerdo con el parámetro pasado en una variable.

¿Tengo que escribir la cadena completa una y otra vez para cada condición en cada caso?

¿O puedo optimizarlo una sola vez y lo único que cambiará será la cláusula WHERE?

Respuestas a la pregunta(6)

Su respuesta a la pregunta