WHERE A의 의해 복수의 열을 반환하고 그 중 하나는 내 CASE statement
에 표시된 것처럼 등 IISAppPool
, ScheduledTask
, WindowsService
, COM+
, ServiceAccount
같은 다른 값의 몇 가지를 포함 할 수 있습니다 @SearchBy
되는 이하.어떻게 절 CASE 문
값에 따라 값의 해당 열에서 값을 찾습니다.
sComponentType
관계없이 항상 @SearchBy
이 무엇 IIS_APP_POOL
, SCHED_TASK
, WIN_SERVICE
또는 COM_PLUS
포함됩니다.
내 where 절에 어려움을 겪고 있습니다. CASE
문이 필요합니다.
다음은 정상적으로 작동합니다. 나는 이것이 가능하지 알고
WHERE
sDate BETWEEN @FromDate AND @ToDate
AND
CASE @SearchBy
WHEN 'IISAppPool' THEN sComponentName AND sComponentType = 'IIS_APP_POOL'
WHEN 'ScheduledTask' THEN sComponentName AND sComponentType = 'SCHED_TASK'
WHEN 'WindowsService' THEN sComponentName AND sComponentType = 'WIN_SERVICE'
WHEN 'COM+' THEN sComponentName AND sComponentType = 'COM_PLUS'
WHEN 'ServiceAccount' THEN sServiceAccount
WHEN 'Server' THEN sServerName
WHEN 'IMCCReference' THEN sIMCCReference
WHEN 'User' THEN sManager
END LIKE('%' + @SearchCriteria + '%')
그래서 나는 내가 위에서 가지고 있지만 난 그냥 방법을 모르는 것 이외에 다음과 같은 시도 : 나는 무엇을 찾고
WHERE
sDate BETWEEN @FromDate AND @ToDate
AND
CASE @SearchBy
WHEN 'IISAppPool' THEN sComponentName
WHEN 'ScheduledTask' THEN sComponentName
WHEN 'WindowsService' THEN sComponentName
WHEN 'COM+' THEN sComponentName
WHEN 'ServiceAccount' THEN sServiceAccount
WHEN 'Server' THEN sServerName
WHEN 'IMCCReference' THEN sIMCCReference
WHEN 'User' THEN sManager
END LIKE('%' + @SearchCriteria + '%')
같은 뭔가가
AND
sComponentType =
CASE @SearchBy
WHEN 'IISAppPool' THEN 'IIS_APP_POOL'
WHEN 'ScheduledTask' THEN 'SCHED_TASK'
WHEN 'WindowsService' THEN 'WIN_SERVICE'
WHEN 'COM+' THEN 'COM_PLUS'
END
내가 감각을 만드는 중이라서 희망 : @SearchBy
는 응용 프로그램 풀, 예약 된 작업, Windows 서비스 또는 COM + 구성 요소가 아닌 경우 코드를 작성합니다. sComponentType 가정
sComponentType =
CASE @SearchBy
WHEN 'IISAppPool' THEN 'IIS_APP_POOL'
WHEN 'ScheduledTask' THEN 'SCHED_TASK'
WHEN 'WindowsService' THEN 'WIN_SERVICE'
WHEN 'COM+' THEN 'COM_PLUS'
ELSE sComponentType
END
에
감사합니다.이 코드도 잘 작동하지만 GarethD와 함께 갈 예정입니다. 코드가 적습니다. –