2013-05-03 2 views
1

내 쿼리에서 누적 열 플래시 차트를 작성하고 있습니다. 다른 위치의 열 값을 분할하고 싶습니다. 인수 위해서 I 그러나, 위치 (41)에서 5 식별자, 위치 (21)에서 3 IDS 에이펙스 세 개의 분리 된 부분 (만세!)와 누적 열을 만드는이 쿼리의 결과로 위치 1누적 열 모든 값을 계산하는 플래시 차트

select 
'' link, 
To_Char(ENQUIRED_DATE,'MON-YY') label, 
count(decode(location_id,41,id,0)) "location1", 
count(decode(location_id,21,id,0)) "location2", 
count(decode(location_id,1,id,0)) "location3" 
from "my_table" 
where 
some_conditions = 'Y'; 

8 개 ID가 값 5, 3 및 8 대신에 3 개의 영역 16, 16, 16을 반환합니다. (16 = 5 + 3 + 8). 분명히 Apex는 모든 디코드 조건을 처리하고 모든 값을 추가합니다. 나는 펑키 아무것도하지 않는 것이 article

답변

1

에이펙스 설명 뭔가를 달성하기 위해 노력하고 , 당신은 * SQL을 통해 플러스 해당 쿼리를 실행하는 동일한 결과를 얻을 것입니다. 작업을 수행 할 때 :

count(decode(location_id,41,id,0)) "location1", 

. 다음에 모든 행에 대해 값이 증가합니다. 난 당신이 사용하는 sum을 의미 생각 :

여기
sum(decode(location_id,41,1,0)) "location1", 

각 행은 0이거나 하나가 할당하고, 그 합산하는 것은 당신에게 지정된 id 값을 가지고 수있는, 하나있어 수를 제공한다.

개인적으로 나는 일반적으로 decode 이상 case를 사용하는 거라고,하지만 결과는 동일합니다 :

sum(case when location_id = 41 then 1 else 0 end) "location1", 
+0

감사 알렉스이 솔루션은 나를 위해 일했다. –