我正在研究一个存储过程来获取一个案例的帐户。如果@accounts
参数是NULL
,我想获取该案例的所有帐户。如果@accounts
是NOT NULL
,那么它将是一个逗号分隔的 accountid 字符串。我想要一个可以处理这个问题的 where 子句。如果说的话,那@accounts
就是NULL
抓住这个案子的所有账户。否则,使用@accounts
参数并获取具有指定帐户 ID 的帐户。我想避免一个大语句,它要求我使用 2 个不同的子句IF
进行两次查询。WHERE
DECLARE @caseId BIGINT,
DECLARE @accounts VARCHAR(255)
SELECT TOP 1 @userId = userId FROM TblTraceCur t
WHERE caseId = @caseid
ORDER BY processDate DESC
SELECT
.... (select logic) ...
WHERE
t.caseId = @caseID AND
t.userId = @userId AND
t.shortStock = 0 AND
... (where I need the new logic) ...
order by t.tracln ASC
非常感谢!