2013-09-26 3 views
0

매개 변수에 따라이 쿼리를 변경하는 방법에 listbox.so 계단식, 지금 내가 년, 분기 등이 단일 쿼리 에 매개 변수를 전달해야 할 날짜 열이 쿼리를 month.by 데 ..패스 값

my query: 

select distinct 
OUTLET_NAME, 
ROUND (nvl(sum(WALKIN_WITHOUT_CGROUP),0)/ COUNT(*),2)APC, 
ROUND((nvl(SUM(SALES_VALUE),0)+nvl(sum(total_sales),0)-nvl(sum(net_sales),0)+nvl(sum(discount),0))/nvl(sum(BILLS_WITHOUT_CGROUP),0))ASPB, 
ROUND((nvl(SUM(SALES_VALUE),0)+nvl(sum(total_sales),0)-nvl(sum(net_sales),0)+nvl(sum(discount),0))/COUNT(*),2) ASPD, 
nvl(sum(BILLS_WITHOUT_CGROUP),0) Bill, 
trunc(nvl(SUM(SALES_VALUE),0)+nvl(sum(total_sales),0)-nvl(sum(net_sales),0)+nvl(sum(discount),0)) Sale, 
nvl(sum(WALKIN_WITHOUT_CGROUP),0) WALKINS 
from OUTLET_PAYMODE_REPORT_FACT A,OUTLET_DETAILS B 
WHERE A.OUTLET_ID=B.OUTLET_ID and SALES_VALUE>0 
and tran_date between '01-Apr-2012' and '31-Mar-2013' 
group by OUTLET_NAME 
+0

정확히 무엇을 찾고 계십니까? 이 쿼리의 – user75ponic

+0

년, 분기, 월을 계산하려고합니다 ... –

+0

"resultsBy"값을 사용하여 저장 프로 시저를 작성하고 동적으로 쿼리를 생성합니다. "resultsBy"는 연도, 분기 또는 월 중 하나 일 것입니다. –

답변

0

난 당신이 두 개의 매개 변수가 있다고 가정입니다 : 기간의 시작 날짜를 포함 parameter1을하고 parameter2은 종료 날짜를 포함. 매개 변수가 계단식이거나 그렇지 않을 수 있습니다.

var startDate = params["parameter1"] 

과 ENDDATE에 대해 동일합니다 :

당신은 매개 변수의 값을 보유 두 변수를 만들 수 있습니다. 또는 시작 날짜 (예 : 2012 년 1 월 1 일)와 기간 (월, 분기 또는 연도) 만 지정하면 종료 날짜를 계산하여 두 번째 변수의 값으로 사용할 수 있습니다.

이 작업을 완료하면 GUI에서 데이터 세트를 열고 JavaScript로 쿼리를 속성 바인딩에 복사 할 수 있습니다. 이 문자열로 전체 쿼리를 재 - 작성 :

"and tran_date between '" +vars["startDate"] +"' and '" +vars["endDate"] +"'" 

은 당신이 당신의 변수를 채우주의 :

query line 1 
query line 2 
query line 3 

"query line 1 "+ 
"query line 2 "+ 
"query line 3 " 

그런 다음 사용자가 지정한 변수를 사용할 수 있습니다된다 올바른 날짜 형식을 선택하고 따옴표와 공백을 올바르게 포함하십시오. '은 쉽게 간과 할 수 있습니다!