조건 SQL을 평가 해 -는 조건부 내가 지금은 저장 프로 시저에 조건을 추가 할 필요가 저장 프로 시저를 사용하여 레코드를 검색있는 직원 테이블이
employeeType = 'MD'는 다음 employeeReportableIndicator 여부를 확인하는 경우에만 = 'N', 'N'이면이 레코드를 가져 오지 않습니다.
이 내재적 수단 -
1) employeeType = 'MD'는 다음 I 무관 employeeReportableIndicator 열 값의 기록을 인출할지!.
2) employeeType = 'MD'이고 employeeReportableIndicator = 'Y'인 경우 값을 가져옵니다.
는 문서라도 내가 지금select *
from employee
where somecondition1
and somecondition2
and CASE when employeeType='MD'
then (CASE when employeeReportableIndicator='N'
then false
else true
END)
END
까지 위의 나에게주고 구문 오류
예상치 못한 시도 무엇 난 그냥 위의 조건을 포함하는 작은 쿼리를 작성하고 저장 프로 시저를 단순화하기 위해 토큰 "END OF OF STATEMENT"가 "else true end)"END 다음에 발견되었습니다. 예상 토큰에 다음이 포함될 수 있습니다 : "".SQLSTATE = 42601
올바른 쿼리 작성을위한 ach, 더 나은 해결책이 있는지 제안하십시오. 나는
이
간단하게 처리 할 수 있습니다. –
@ Clockwork-Muse 정교한 케어? 어떻게 든 간소화 될 수 있다고하더라도 의도는 서면으로 분명합니다. – Siyual
MD + Y, MD + N,! MD + Y,! MD + Y의 4 가지 가능한 경우가 있습니다. ! MD 인 경우 충족 된 조건을 고려합니다 (Y/N은 상관하지 않음). 이는 표의 절반을 제거합니다. 이것은 단지 MD + Y와 MD + N을 남겨 둡니다 ... 유일한 유일한 부분은 Y/N입니다. 이 시점에서 MD가 경박한지 확인하는 것은 다음과 같습니다. 'AND employeeType <>'MD '또는 employeeReportableIndicator ='Y'' –