Konu: bir sorguda nasıl halledebilirim?
lnEngineOld=Set("EngineBehavior" )
Set ENGINEBEHAVIOR 70
*------ ( 1. SORGU ) --------------------------------------------------------------------------------
Select qirs.cstkkod,qirs.cstad,;
sum(Iif(qirs.cfistur=='C' And Month(qirs.dtar)=01 And liade=.F.,qirs.nmiktar,0)) As nocak,;
sum(Iif(qirs.cfistur=='C' And Month(qirs.dtar)=02 And liade=.F.,qirs.nmiktar,0)) As nsubat,;
sum(Iif(qirs.cfistur=='C' And Month(qirs.dtar)=03 And liade=.F.,qirs.nmiktar,0)) As nmart,;
sum(Iif(qirs.cfistur=='C' And liade=.F.,qirs.nmiktar,0)) As nsattop,;
(Sum(Iif(qirs.cfistur=='G',qirs.nmiktar,0)))-(Sum(Iif(qirs.cfistur=='C',qirs.nmiktar,0))) As nkalan;
from qirs;
GROUP By cstkkod Order By cstkkod Into Cursor qst
*------ ( 2. SORGU ) --------------------------------------------------------------------------------
Select qirs.cstkkod,Max (qirs.dtar) As dsontar;
from qirs Where qirs.cfistur=='C' And liade=.F.;
GROUP By qirs.cstkkod Into Cursor qson
*------ ( 3. SORGU ) --------------------------------------------------------------------------------
Select qirs.cstkkod,Min(qirs.dtar) As dilktar;
from qirs Where qirs.cfistur=='G' And liade=.F.;
GROUP By qirs.cstkkod Into Cursor qilk
*------ ( 4. SORGU ) --------------------------------------------------------------------------------
Select qst.*,qilk.dilktar,qson.dsontar ;
from qst;
left Join qilk On Allt(qst.cstkkod)==Allt(qilk.cstkkod);
left Join qson On Allt(qst.cstkkod)==Allt(qson.cstkkod);
into Cursor qsthar
Use In (Select('qilk'))
Use In (Select('qson'))
Use In (Select('qst'))
Use In (Select('qirs'))
Set ENGINEBEHAVIOR lnEngineOld
Select('qsthar')