모니터링 플랫폼에서 실행할 수있는 비교적 간단한 쿼리를 작성하려고합니다. 이 질문의 목적을 위해 경보 조건이 충족되면 1을 반환하고 모두 양호한 경우 0을 반환하는 쿼리가 필요합니다. 여기에 내가 가지고있는 쿼리의 조각은 제대로 작동입니다 :Oracle SQL Developer Case "ORA-00937 : 단일 그룹 그룹 함수가 아닙니다"오류를 일으키는 식 중첩 된 쿼리
select case when count(*)<1700
THEN '1'
ELSE '0'
END CASE
FROM SomeTable
WHERE date_value= '11-DEC-2015';
그러나, 오히려 내 비교에서 1700 값을 하드 코딩하는 것보다, 내가 값이 동일한 다른 테이블을 형성 끌어 중첩 된 쿼리를 수행하고 싶습니다 데이터 베이스. 내가하면 ... 그래서 같은 쿼리를 다시 쓰기 :
SELECT case when count(*)<(select count(*) from Another_table)
THEN '1'
ELSE '0'
END CASE
FROM SomeTable
WHERE date_value= '11-DEC-2015';
... 그것은 반환 내 중첩 된 쿼리의 시작 부분에 다음
ORA-00937 :하지 단일 그룹의 그룹 기능을 00937. 00000 - "단일 그룹 그룹 기능이 아님"
이 유형의 비교 또는 아마도 간과 할 수있는 간단한 방법을 사용하는 것이 더 좋을지 모르지만 여전히 Oracle SQL과 같은 유형의 중첩 된 쿼리 케이스 표현을 수행하는 방법에 대한 제안을 매우 감사하게 생각합니다. 정수 값을 하나의 정수 결과를 반환하는 중첩 쿼리로 바꿀 경우 왜 위의 오류가 발생합니까?
미리 제안 해 주셔서 감사합니다.
사례 표현, 사례 명세서가 아닙니다. – jarlh
좋은 캐치; 명령문이 아닌 사례 표현으로 제목을 업데이트했습니다. –