SQL Server 2008, verschiedene WHERE-Klauseln mit einer Abfrage

Ich habe eine gespeicherte Prozedur, die die gleichen Spalten, aber mit unterschiedlichen nimmtWHERE Klausel.

Etwas wie das.

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

und ich stelle die gleiche Abfrage in 3 if's (Bedingungen) wo dieWHERE Die Klausel ändert sich entsprechend dem in einer Variablen übergebenen Parameter.

Muss ich die ganze Zeichenfolge für jede Bedingung in jedem Fall immer wieder schreiben?

Oder kann ich es auf einmal optimieren und das einzige, was sich ändern wird, ist die WHERE-Klausel?

Antworten auf die Frage(6)

Ihre Antwort auf die Frage