CASE WHEN
문을 사용하여 하나의 SQL 문에 두 개의 집계 함수 (COUNT
, SUM
)를 사용하고 싶습니다. 내 코드는 다음과 같다 :다른 기준을 가진 두 개의 집계 함수
CASE
WHEN ( ( ( ( (CSSC_MASTER_VIEW.ORDER_TYPE = 'OR')
OR (OCSSC_MASTER_VIEW.ORDER_TYPE = 'KB'))
OR (CSSC_MASTER_VIEW.ORDER_TYPE = 'KE'))
OR (CSSC_MASTER_VIEW.ORDER_TYPE = 'OR-TAT'))
OR (CSSC_MASTER_VIEW.ORDER_TYPE = 'QT-TAT'))
OR (CSSC_MASTER_VIEW.ORDER_TYPE = 'QT')
THEN
COUNT((CSSC_MASTER_VIEW.ORDER_LINE_NUMBER))
ELSE
SUM((CSSC_MASTER_VIEW.ORDER_LINE_NUMBER))
END
AS Lines_processed
이 코드는 "오라클 데이터베이스 오류 : ORA-00900를 : 유효하지 않은 SQL 문"오류를 제공
어떤 일이 나를 도울 수 있습니까?
귀하를 돕기 위해 완전한 진술이 필요합니다. 왜 그렇게 많은 괄호를 사용합니까? 코드를 읽기/디버그하기 위해 고의적으로 노력합니까? –
두 개의 개별 집계로 나누어야한다고 생각합니다. 현재로서는 단일 출력에서 두 개의 값을 지정할 수 있습니다. 반환 할 데이터베이스는 무엇입니까? SUM 또는 COUNT입니까? 그것은 말할 수 없다. 어느 쪽도 할 수 없다. –
Jonathan이 지적하고있다. 집계중인 것으로 보이지만 하나의 사례와 일치하는 일부 행과 다른 사례와 일치하는 일부 행이있을 수 있습니다. 그러면 무엇을해야합니까? 백작님 또는 합계? –