4.400 kayitli bir tablom var.
Kod: Tümünü seç
Close;
SelectSql.Clear;
SelectSql.Add('select h.hesapkodu,h.hesapadi,h.hesaptipi,');
SelectSql.Add('sum(coalesce(f.borc,0)) borc,');
SelectSql.Add('sum(coalesce(f.alacak,0)) alacak,');
SelectSql.Add('from muhfishareket f');
SelectSql.Add(' right join hesapplani h on (');
SelectSql.Add('LEFT(f.hesapkodu,CHAR_LENGTH (h.hesapkodu))=h.hesapkodu');
SelectSql.Add('and CHAR_LENGTH(h.hesapkodu)>=1)');
sonucta bana;
Kod: Tümünü seç
hesap kodu ------- borc alacak
100 -------- 69.161 0
100 01 ------- 68.762 0
100 02 -------- 399 0
Sorgu icindeki
Kod: Tümünü seç
SelectSql.Add('LEFT(f.hesapkodu,CHAR_LENGTH (h.hesapkodu))=h.hesapkodu');
Gerekli index leri ayarladim. Bu sorguyu hizlandirmanin bir yolu varmi acaba?