Doğrusu yazdığım başlık yapmak istediğim işleme uyuyormu bilmiyorum ama yaptığım araştırmalardan edinebildiğim bilgilere göre yazdım.
Yapmak istediğim personel maaş tablosunda işlem türüne göre ayrılan BORÇ ALACAK bilgilerini işlem türü bilgisine göre ayrı ayrı başlıklar altında toplamak
Örn.
işlem türü = 1 BORCTOPLAM1 ALACAKTOPLAM1
işlem türü = 2 BORCTOPLAM2 ALACAKTOPLAM2
işlem türü = 3 BORCTOPLAM3 ALACAKTOPLAM3
işlem türü = 4 BORCTOPLAM4 ALACAKTOPLAM4
işlem türü = 5 BORCTOPLAM5 ALACAKTOPLAM5
işlem türü = 6 BORCTOPLAM6 ALACAKTOPLAM6
Kod: Tümünü seç
qMaasDetay.Close;
qMaasDetay.SQL.Clear;
qMaasDetay.SQL.Add('SELECT PERKART.TCNo, PERKART.Adi, PERKART.Soyadi, ');
qMaasDetay.SQL.Add('(SELECT Sum(PERMAAS.Alacak) AS AlcMS, Sum(PERMAAS.Borc) AS BrcMS, ');
qMaasDetay.SQL.Add('IIF(ISNULL(Sum(PERMAAS.Alacak)),0,Sum(PERMAAS.Alacak))-IIF(ISNULL(Sum(PERMAAS.Borc)),0,Sum(PERMAAS.Borc)) AS BkyMS, ');
qMaasDetay.SQL.Add('IIF(BkyMS>0,''A'',''B'') AS DrmMS ');
qMaasDetay.SQL.Add('FROM PERKART INNER JOIN PERMAAS ON PERKART.id=PERMAAS.Perid ');
qMaasDetay.SQL.Add('WHERE Harid=0) ');
qMaasDetay.SQL.Add('(SELECT Sum(PERMAAS.Alacak) AS AlcPR, Sum(PERMAAS.Borc) AS BrcPR, ');
qMaasDetay.SQL.Add('IIF(ISNULL(Sum(PERMAAS.Alacak)),0,Sum(PERMAAS.Alacak))-IIF(ISNULL(Sum(PERMAAS.Borc)),0,Sum(PERMAAS.Borc)) AS BkyPR, ');
qMaasDetay.SQL.Add('IIF(BkyPR>0,''A'',''B'') AS DrmPR ');
qMaasDetay.SQL.Add('FROM PERKART INNER JOIN PERMAAS ON PERKART.id=PERMAAS.Perid ');
qMaasDetay.SQL.Add('WHERE Harid=1) ');
qMaasDetay.SQL.Add('(SELECT Sum(PERMAAS.Alacak) AS AlcYL, Sum(PERMAAS.Borc) AS BrcYL, ');
qMaasDetay.SQL.Add('IIF(ISNULL(Sum(PERMAAS.Alacak)),0,Sum(PERMAAS.Alacak))-IIF(ISNULL(Sum(PERMAAS.Borc)),0,Sum(PERMAAS.Borc)) AS BkyYL, ');
qMaasDetay.SQL.Add('IIF(BkyYL>0,''A'',''B'') AS DrmYL ');
qMaasDetay.SQL.Add('FROM PERKART INNER JOIN PERMAAS ON PERKART.id=PERMAAS.Perid ');
qMaasDetay.SQL.Add('WHERE Harid=2) ');
qMaasDetay.SQL.Add('(SELECT Sum(PERMAAS.Alacak) AS AlcYM, Sum(PERMAAS.Borc) AS BrcYM, ');
qMaasDetay.SQL.Add('IIF(ISNULL(Sum(PERMAAS.Alacak)),0,Sum(PERMAAS.Alacak))-IIF(ISNULL(Sum(PERMAAS.Borc)),0,Sum(PERMAAS.Borc)) AS BkyYM, ');
qMaasDetay.SQL.Add('IIF(BkyYM>0,''A'',''B'') AS DrmYM ');
qMaasDetay.SQL.Add('FROM PERKART INNER JOIN PERMAAS ON PERKART.id=PERMAAS.Perid ');
qMaasDetay.SQL.Add('WHERE Harid=3) ');
qMaasDetay.SQL.Add('(SELECT Sum(PERMAAS.Alacak) AS AlcME, Sum(PERMAAS.Borc) AS BrcME, ');
qMaasDetay.SQL.Add('IIF(ISNULL(Sum(PERMAAS.Alacak)),0,Sum(PERMAAS.Alacak))-IIF(ISNULL(Sum(PERMAAS.Borc)),0,Sum(PERMAAS.Borc)) AS BkyME, ');
qMaasDetay.SQL.Add('IIF(BkyME>0,''A'',''B'') AS DrmME ');
qMaasDetay.SQL.Add('FROM PERKART INNER JOIN PERMAAS ON PERKART.id=PERMAAS.Perid ');
qMaasDetay.SQL.Add('WHERE Harid=4) ');
qMaasDetay.SQL.Add('(SELECT Sum(PERMAAS.Alacak) AS AlcOD, Sum(PERMAAS.Borc) AS BrcOD, ');
qMaasDetay.SQL.Add('IIF(ISNULL(Sum(PERMAAS.Alacak)),0,Sum(PERMAAS.Alacak))-IIF(ISNULL(Sum(PERMAAS.Borc)),0,Sum(PERMAAS.Borc)) AS BkyOD, ');
qMaasDetay.SQL.Add('IIF(BkyOD>0,''A'',''B'') AS DrmOD ');
qMaasDetay.SQL.Add('FROM PERKART INNER JOIN PERMAAS ON PERKART.id=PERMAAS.Perid ');
qMaasDetay.SQL.Add('WHERE Harid=5) ');
qMaasDetay.SQL.Add('(SELECT Sum(PERMAAS.Alacak) AS AlcTP, Sum(PERMAAS.Borc) AS BrcTP, ');
qMaasDetay.SQL.Add('IIF(ISNULL(Sum(PERMAAS.Alacak)),0,Sum(PERMAAS.Alacak))-IIF(ISNULL(Sum(PERMAAS.Borc)),0,Sum(PERMAAS.Borc)) AS BkyTP, ');
qMaasDetay.SQL.Add('IIF(BkyTP>0,''A'',''B'') AS DrmTP ');
qMaasDetay.SQL.Add('FROM PERKART INNER JOIN PERMAAS ON PERKART.id=PERMAAS.Perid ');
//qMaasDetay.SQL.Add('WHERE Harid=0) ');
//qMaasDetay.SQL.Add('FROM PERKART INNER JOIN PERMAAS ON PERKART.id=PERMAAS.Perid ');
//qMaasDetay.SQL.Add(FILTRE+MAASAY_TEXT+UNVAN_TEXT+BIRIM_TEXT+BOLGE_TEXT+POZIS_TEXT);
qMaasDetay.SQL.Add('GROUP BY PERKART.TCNo, PERKART.Adi, PERKART.Soyadi');
//qMaasDetay.SQL.Add(INDSECIM+INDBIRIM+INDBOLGE+INDPOZIS+INDUNVAN+INDTC+INDAD+INDSOY);
Showmessage(qMaasDetay.SQL.Text);
qMaasDetay.Open;