Farklı Dönemdeki Abone Bilgilerini tek tabloda göstermek...

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
Biltes
Üye
Mesajlar: 361
Kayıt: 11 Oca 2005 02:24
Konum: Edirne

Farklı Dönemdeki Abone Bilgilerini tek tabloda göstermek...

Mesaj gönderen Biltes »

Arkadaşlar iyi akşamlar;

Benim yaptığım çalışmada geldim bir yerde takıldım. Sorun şu dönem olayını daha önceden de formda konuşmuştum yine bunun üzerine devam ederek...

200608
200609
200610 gibi dönem klasörlerim var. Bu klasörlerin içinde abonenin ürün tüketim tablosu var. Tüm dönemlerdeki tablo ve yapı aynı sadece hareket tablosundaki bilgileri farklı abone adları da aynı...

200608 döneminde
Yılmaz OKTAY .................... 100 kg
200609 döneminde
Yılmaz OKTAY .................... 250 kg
200610 döneminde
Yılmaz OKTAY .................... 120 kg
gibi bilgiler var her dönemde her isim ve hareket bir tane...

bunları ben kişinin cari kartlarındaki hareketlerinde görmek istiyorum. Yani Yılmaz oktay'ın cari hareketlerine baktığım zaman tüm dönemlerdeki bilgileri dbgrid'de alt alta görmek istiyorum. Bütün olay bu arkdaşlar...

Umarım anlatabilmişimdir. Şimdiden bilgileriniz ve zaman ayırdığınız için çok teşekkür ediyorum.
Saygılar....
Var olmaya değer her şey bilinmeye de değerdir. Çünkü bilgi varlığın bir imgesidir. Onda iyi ve kötü aynı anda bulunmaktadır...
Kullanıcı avatarı
bobasturk
Kıdemli Üye
Mesajlar: 1387
Kayıt: 20 May 2004 08:39
Konum: Düzce

Mesaj gönderen bobasturk »

Merhaba,

Yardımım olacağını sanmıyorum ama şu merakımı giderebilirmisin niçin farklı klasörlerde dönem tabloları? :roll: Yanlış anlamanı istemiyorum öğrenme amaçlı.

Aynı tabloda farklı dönemler desen veya aynı klasörde farklı tablolarda desen yine iş kolay sanırım sende biliyorsun union kullanarak tabloları birleştirebiliniyor. Fakat farklı klasörde tablo deyince açıkçası bilmiyorum.

Kolay gelsin.
Şefkat-u Merhamette Güneş Gibi Ol.
Başkalarının Kusurunu Örtmekte Gece Gibi Ol.
Sehavet-u Cömertlikte Akarsu Gibi Ol.
Hiddet-u Asabiyette Ölü Gibi Ol.
Tevazu-u Mahviyette Toprak Gibi Ol.
Ya Olduğun Gibi Görün Ya Göründüğün Gibi Ol.

Resim
Kullanıcı avatarı
Biltes
Üye
Mesajlar: 361
Kayıt: 11 Oca 2005 02:24
Konum: Edirne

Mesaj gönderen Biltes »

Dosyaların boyutları yaklaşık tüm abonelerle beraber 1000'lere dayanıyor. Her ay bu kadar aboneye hareket girdiğimizi düşünürsek hareket tablosu şişecek. Zaman içerisinde oluşabilecek yavaşlamalara kendi bilgim doğrultusunda bir çözüm...

Umarım açıklayıcı olabilmişimdir hocam. İyi akşamlar...
Var olmaya değer her şey bilinmeye de değerdir. Çünkü bilgi varlığın bir imgesidir. Onda iyi ve kötü aynı anda bulunmaktadır...
mkysoft
Kıdemli Üye
Mesajlar: 3110
Kayıt: 26 Ağu 2003 12:35
Konum: Berlin
İletişim:

Mesaj gönderen mkysoft »

veri tabanı belirtmemişsiniz. firebird ve mysql tek sorgu içinde birden fazla veri tabanını aynı anda kullanabilir.
mysql'de ayar yapmaya zaten gerek yok.
firebird için ise;
alias.ini dosyasına veri tabanlarının yerini girmeniz yeterli.

kolay gelsin.
Kullanıcı avatarı
Biltes
Üye
Mesajlar: 361
Kayıt: 11 Oca 2005 02:24
Konum: Edirne

Mesaj gönderen Biltes »

Hocam veritabanım mysql kusura bakmayın belirtmeyi unutmuşum...

C:\mysql\data\ klasörünün içindeki 200608,200609,200610 gibi dönem klasörlerinin içindeki tablolardan yılmaz oktay'a ait bilgileri nasıl alabiliriz peki hocam...
Var olmaya değer her şey bilinmeye de değerdir. Çünkü bilgi varlığın bir imgesidir. Onda iyi ve kötü aynı anda bulunmaktadır...
mkysoft
Kıdemli Üye
Mesajlar: 3110
Kayıt: 26 Ağu 2003 12:35
Konum: Berlin
İletişim:

Mesaj gönderen mkysoft »

Kod: Tümünü seç

select '2006-08' as donem,adi,sum(kullanim) from 200608.hareket where adi='Yılmaz OKTAY' group by adi union select '2006-09' as donem,adi,sum(kullanim) from 200609.hareket where adi='Yılmaz OKTAY' group by adi  union select '2006-10' as donem,adi,sum(kullanim) from 200610.hareket where adi='Yılmaz OKTAY' group by adi 
gibi yapabilirsin.
Kullanıcı avatarı
Biltes
Üye
Mesajlar: 361
Kayıt: 11 Oca 2005 02:24
Konum: Edirne

Mesaj gönderen Biltes »

Cevap için tşk ederim hocam, dediğiniz gibi olayı bir deniyicem. Biraz zorlayacak bir olay ama inşallah yapıcam... :(
Var olmaya değer her şey bilinmeye de değerdir. Çünkü bilgi varlığın bir imgesidir. Onda iyi ve kötü aynı anda bulunmaktadır...
mkysoft
Kıdemli Üye
Mesajlar: 3110
Kayıt: 26 Ağu 2003 12:35
Konum: Berlin
İletişim:

Mesaj gönderen mkysoft »

zor olcağını sanmam

Kod: Tümünü seç

show databases
diyerek bir sorguyla database adlarını alın. daha sonra bir do while döngüsüyle yukarıdakine benzer sql cümleciğinizi oluşturun.
Cevapla