문제해결을 부탁드립니다.
DB는 델파이에 있는 파라독스입니다.
문제의 sql문이 밑에 있는데
select substring(inoutdate from 1 for 7) as yearmonth,inoutitemname,
inoutitemtype, SUM(inoutmoney) as totalmoney from tblinout
GROUP BY substring(inoutdate from 1 for 7) as yearmonth, inoutitemname,
inoutitemtype
order by substring(inoutdate from 1 for 7) as yearmonth, inoutitemname,
inoutitemtype
sql문을 실행시키면 'invalid ues of keyword' 라는 메세지가 뜨는데 문제해결을 부탁드립니다.
파라독스에서는 이러한 문장이 지원되지 않는지 그리고 월별로 합계를 내는방법좀 가르쳐 주십시요.
부탁드립니다.
> 문제해결을 부탁드립니다.
> DB는 델파이에 있는 파라독스입니다.
> 문제의 sql문이 밑에 있는데
> >
> sql문을 실행시키면 'invalid ues of keyword' 라는 메세지가 뜨는데 문제해결을 부탁드립니다.
> 파라독스에서는 이러한 문장이 지원되지 않는지 그리고 월별로 합계를 내는방법좀 가르쳐 주십시요.
> 부탁드립니다.
> select substring(inoutdate from 1 for 7) as yearmonth,inoutitemname,
> inoutitemtype, SUM(inoutmoney) as totalmoney from tblinout
> GROUP BY substring(inoutdate from 1 for 7) as yearmonth, inoutitemname,
> inoutitemtype
> order by substring(inoutdate from 1 for 7) as yearmonth, inoutitemname,
> inoutitemtype
저도 파라독스를 쓰고 있는데요. 아마도 위와 같은 그룹질의는 허용되지 않는 것 같습니다.
날짜필드를 년,월,일로 쪼개서 사용하시고 보여줄때는 계산필드를 써서 세필드를 합쳐주는 것도 한 방법이 될 것 같은데요.
만약 특정년도의 월합계만 구한다면 좀 무식하지만 for문을 써서 구할 수도 있을 것 같군요.
function TForm1.CalculateMonthlyTotal(year:String):Double;
begin
Result:=0;
for i:=1 to 12 do
begin
with Query1 do
begin
Close;
sql.Clear;
sql.Add('select sum(inoutmoney) from tblinout ');
sql.Add('where substring(inoutdate from 1 for 7)=:n1');
ParamByName('n1').AsString:=year+'-'+Format('2.2d',[i]);
Open;
if EOF then continue;
Result:= Result+Fields[0].AsFloat;
end;
end;
파라독스 쓰시다가 답답할 때가 많으시죠? 어쨋든 위의 답이 작은 도움이라도 되길
바랍니다. 즐프하세요~.