【发布时间】:2015-11-21 02:02:47
【问题描述】:
我有一个存储过程,它采用相同的列但具有不同的WHERE 子句。
类似的东西。
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
我将相同的查询放在 3 个 if(条件)中,其中 WHERE 子句根据传入变量的参数而变化。
我是否必须为每个 if 中的每个条件一遍又一遍地写整个字符串?
或者我可以将它优化为一次,唯一会改变的是 WHERE 子句?
【问题讨论】:
-
你的 Ifs 和参数在哪里?
-
标记为迁移到 dba.stackexchange.com,因为这将更适合该问题。
-
您应该选择以下答案之一来结束问题。这个问题被问了很多,复制者可以在这里指出。
标签: sql sql-server-2008 tsql