ケースのアカウントを取得するためのストアド プロシージャに取り組んでいます。@accounts
パラメータがの場合NULL
、ケースのすべてのアカウントを取得します。@accounts
の場合NOT NULL
、アカウント ID のカンマ区切りの文字列になります。これを処理できる単一の where 句が必要です。ケースのすべてのアカウント@accounts
をNULL
取得します。それ以外の場合は、@accounts
パラメーターを使用して、指定されたアカウント ID を持つアカウントを取得します。2 つの異なる句IF
で 2 回クエリを実行する必要があるような大きなステートメントは避けたいと思います。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
どうもありがとう!