Я ищу обходной путь или решение для ситуации, когда я хочу выполнить выражение только на основе двух условий, используя инструкцию CASE.Я написал псевдокод, чтобы проиллюстрировать, что я пытаюсь сделать.
WHERE (RN = 1)
AND
CASE
WHEN (@ApplicationName '' OR @ApplicationGroup '')
THEN
AND (
@AppFilterType = 'Groups' AND [GroupName].[Name] IN (SELECT StringValue FROM [StarTeam].[dbo].fn_CSVToTable(@ApplicationGroup))
OR
@AppFilterType = 'Apps' AND [AppName].[Name] IN (SELECT StringValue FROM [StarTeam].[dbo].fn_CSVToTable(@ApplicationName))
)
END
Это идея, выполнять условие, только если @ApplicationName
и / или @ApplicationGroup
имеют значение.
Я использую это в хранимой процедуре T-SQL, работающей на SQL Server 2005.
Возможно ли это каким-либо образом?
Заранее благодарен за любую помощь.