1.5에서는 서브쿼리가 안됩니다.
그리고 이 Sql문장도 아예 SP로 만들어 놓고 이 SP만 실행시켜 주면 간단할 것 같은데...
select distinct(extract ( day from endtime)) ,
(Select * from Get_monthly_Report_Element
( extract ( year from EndTime ),
extract (month from endtime ),
extract ( day from endtime ) ,
extract ( day from endtime )+1 ,
4)
)
from sales
강재호.만해 님이 쓰신 글 :
: 회사 업무상 보고서 결과를 만드는 쿼리만들어야 하는데
:
: 일반 쿼리로는 도저히 해결이 안될것 같아서
:
: SP를 만들었습니다.
:
: SP에서는 하루 하루에 대한 결과를 만들어 내는데요
:
: 이걸 Select문에 연동 시켜서 한달치 결과를 내게 만들려고 할려는데
:
: 잘안되네요
:
: CREATE PROCEDURE GET_Monthly_Report_Element (GroupYear int, GroupMonth int, GroupDay1 int,GroupDay2 int, GroupHour int)
: RETURNS (
: UsedTime int,
: PauseTime int,
: Prepay int,
: Afterpay int,
: Totalpay int,
: TimeMember int,
: TimeMemberpay int,
: ServiceTime int,
: Discount int,
: Mileage int,
: Mileagepay int)
: AS
: BEGIN
: for select
: sum(UsedTime) UsedTime,
: sum(PauseTime) PauseTime,
: sum(Prepay) Prepay ,
: sum(Afterpay) Afterpay,
: sum(Totalpay) Totalpay,
: sum(TimeMember) TimeMember,
: sum(TimeMemberpay) TimeMemberpay,
: sum(ServiceTime) ServiceTime,
: sum(Discount) Discount,
: sum(Mileage) Mileage,
: sum(Mileagepay) Mileagepay
: FROM sales
: WHERE endtime between
: cast (cast (:GroupMonth as Char(2))||'-'||
: cast (:GroupDay1 as Char(2)) ||'-'||
: cast (:GroupYear as Char(4)) ||' '||
: cast (:GroupHour as char(2)) ||':00:00' as Date)
: and
: cast (cast (:GroupMonth as Char(2))||'-'||
: cast (:GroupDay2 as Char(2))||'-'||
: cast (:GroupYear as Char(4)) ||' '||
: cast (:GroupHour as char(2)) ||':00:00' as Date)
:
: INTO : UsedTime , PauseTime , Prepay , Afterpay , Totalpay ,
: TimeMember , TimeMemberpay , ServiceTime , Discount , Mileage , Mileagepay
: DO
: SUSPEND;
: END
:
: GET_Monthly_Report_Element 이게 하루치 보고서를 만드는 쿼리이고요
:
: 사용은 이렇게 합니다.
:
: select * from GET_Monthly_Report (2006 , 2 ,16,17, 1)
:
: 이 쿼리를 한달의 날수 만큼 돌려야 됩니다.
:
: 그래서 제가 작성한 쿼리가 다음과 같습니다.
:
: select distinct(extract ( day from endtime)) ,
: (Select * from Get_monthly_Report_Element
: ( extract ( year from EndTime ),
: extract (month from endtime ),
: extract ( day from endtime ) ,
: extract ( day from endtime )+1 ,
: 4)
: )
: from sales
:
: 이렇게 해서 전체 데이타를 가져 오게 할려고 하는데요
:
: 하루치 그러니깐 Get_monthly_Report_Element 가 개별적으로는 잘 작동 하는데
:
: 저렇게 쿼리에 붙여 놓으니 작동이 안되고 있습니다.
:
: 작업 환경은 FireBird 1.5를 이용하고 있습니다.
:
: SP를 호출하는 부분에서 문법 에러가 발생 하는데요 도저히 뭐가 잘못 된건지 알수가 없네요
:
: 도움 바랍니다~
|