나는 이와 같이 오쏘링 포인트에서 스캔되는 항목을 기록하는 Oracle 데이터베이스 테이블을 가지고 있습니다.하나의 sql 명령에서 하나의 데이터베이스 테이블에서 다중 카운트 선택
는
이 ItemType은 ItemScanPoint
을
을 ItemScanId ItemsScan
ScanTime
내가 함께 ItemScanPoint을 반환하려면 해당 ItemScanPoint에서 특정 ItemType을 검색 한 횟수입니다. 의 라인을 따라
뭔가 .. 내가 오라클에서이 작업을 수행하려면 어떻게
SELECT ItemScanPoint,
(SELECT COUNT(*) WHERE ItemType = 1),
(SELECT COUNT(*) WHERE ItemType = 2)
FROM ItemsScan
?
가장 효율적인 방법은 무엇입니까?
@endorphin, 이것은 CASE가 표준 SQL이기 때문에 아마도 가장 좋은 해결책 일 것입니다.하지만 Oracle DECODE() 함수, 예를 들어'SUM (DECODE (ItemType, 1, 1, 0)), SUM (DECODE (ItemType, 2, 1, 0))'을 포함합니다. 휴대용 솔루션이 필요하지 않은 경우 키 입력을 줄일 수 있습니다. –