Arkadaşlar merhaba c# ta kredi kartı borç takip programı yapıyorum. hesap ekstresini oluşturmak için yazdığım sql cümlesinde sorun yaşıyorum. sonuçların aşağıdaki gibi listelenmesini istiyorum.
işlem tarihi /// dönem içi işlemler /// kalan taksit sayısı- ?.taksit //// harcama tutar
eğer harcama taksitli ise kalan taksit sayısı sütununa veriler gelecek. tek çekim ise orası boş olacak. harcama tutar sütunu ise tek çekim ise harcama tutarı, taksitli ise harcama taksit miktarı gelecek.
aşağıdaki sorguyu yazdığımda veriler iki tablodan çekildiği için tekrarlı olarak geliyor. bunu engellemek için harcama.harcama_no=harcama_taksit.harcama.no yazdığımda ise taksitli harcamalar geliyor. fakat taksitsiz harcmalar listelenmiyor.
SELECT IF (harcama_taksitsay=1,harcama_tarih,harcama_taksit.harcama_taksittarih) AS 'İŞLEM TARİHİ',CONCAT(harcama_yer," / ",harcama_aciklama) AS 'DÖNEM İÇİ İŞLEMLER', IF (harcama_taksitsay>1,CONCAT( harcama_taksitmiktar," X ",harcama_taksitsay,' -- ',harcama_taksitno,'. Taksit '),' ')AS 'Kalan Borç / Taksit', IF (harcama_taksitsay>1, harcama_taksitmiktar,harcama_tutar)AS 'TUTAR(TL)' FROM harcama,harcama_taksit WHERE kart_id='5' AND IF (harcama_taksitsay>1,(harcama_taksittarih BETWEEN '2012-08-04' AND '2012-09-04'), (harcama_tarih BETWEEN '2012-08-04' AND '2012-09-04'))
Verileri tam olarak nasıl tuttuğunu anlamadım. Eğer taksitsiz bir alışveriş yapılırsa taksit tablosunda tek kayıt, taksitli alışveriş olursa çok kayıt mı oluyor? Yani taksitsiz alışverişi 1 taksit gibi mi değerlendiriyorsun?
Bir de tabloları ve verileri sql dump alıp koyabilir misin buraya?
taksitsiz alışverişler sadece harcama tablosuna kayıt oluyor. taksitli alışverişlerin ise genel bilgileri harcama tablosuna diğer taksit miktarları ve taksitlerin hesaptan kesileceği tarihler harcama_taksit tablosuna kayıt oluyor. örn. olarak 3 taksitli bi alışverişin harcama yer toplam tutar gibi bilgileri harcama tablsouna, diğer her taksiti ayrı bir kayıt olarak harcama taksit tablsouna kayıt oluyor. sql dosyasını rapid e upload ettim. yardımcı olursanız sevinirim.
SELECT IF (harcama_taksitsay=1,harcama_tarih,harcama_taksit.harcama_taksittarih) AS 'İŞLEM TARİHİ', CONCAT(harcama_yer," / ",harcama_aciklama) AS 'DÖNEM İÇİ İŞLEMLER', IF (harcama_taksitsay>1,CONCAT( harcama_taksitmiktar," X ",harcama_taksitsay,' -- ',harcama_taksitno,'. Taksit '),' ')AS 'Kalan Borç / Taksit', IF (harcama_taksitsay>1, harcama_taksitmiktar,harcama_tutar)AS 'TUTAR(TL)' FROM harcama LEFT JOIN harcama_taksit ON (harcama.harcama_no = harcama_taksit.harcama_no) WHERE kart_id='5' AND IF (harcama_taksitsay>1,(harcama_taksittarih BETWEEN '2012-08-04' AND '2012-09-04'), (harcama_tarih BETWEEN '2012-08-04' AND '2012-09-04'))
Sanırım bu aradığın şey? Nasıl olduğunu anlamazsan sorabilirsin.
Teşekkür ederim. Daha önce join i denemiştim ama from dan harcama_taksit tablosunu silmediğimden hata alıyodum. hatamı gördüm tekrardan teşekkür ederim.
Mysql database yönetim ve optimizasyonunda dünya çapında uzmanlaşmış destek.
Veri tabaninin periyodik kontrollerinin yapilmasi, Veri tabani güncelleme ve yama uygulama çalismalarinin yapilmasi, Veri tabani performansinin takip edilmesi ve optimizasyon çalismalarinin yapilmasi, Veri tabaninin yedekleme ve geri dönüs islemleri için prosedürlerin olusturulmasi ve kurtarma yöntemlerinin gelistirilmesi, Gerektiginde alinan yedeklerden sistemin dönülmesi (restore) veya karsilikli belirlenecek periyodlarda test amaçli olarak verinin bir sistemden digerine aktarimi (clone), Uyari mekanizmalarinin olusturulmasi ve uyarilarin sorumlu müsteri veritabani yöneticilerine mail ve sms yoluyla anlik olarak iletilmeleri, Veri tabani performans gözlem raporlarinin incelenmesi, Yeni sistemlerde veri tabani sizing çalismasinin yapilmasi ve mevcut sistemler için ilerideki olasi kapasite arttirimi senaryolarinda danismanligin verilmesi.
c# ta kredi kartı borç takip programı yapıyorum. hesap ekstresini oluşturmak için yazdığım sql cümlesinde sorun yaşıyorum. sonuçların aşağıdaki gibi listelenmesini istiyorum.
işlem tarihi /// dönem içi işlemler /// kalan taksit sayısı- ?.taksit //// harcama tutar
harcama_no lar arasında bire çok ilişki vardır
TABLOLARIM
harcama
-------------
harcama_no (primary key)
kart_id
harcama_tutar
harcama_tarih
harcama_yer
harcama_aciklama
harcama_taksitsay
harcama_taksit
---------------------
harcama_no (primary key)
harcama_taksitno
harcama_taksitmiktar
harcama_taksittarih
eğer harcama taksitli ise kalan taksit sayısı sütununa veriler gelecek. tek çekim ise orası boş olacak.
harcama tutar sütunu ise tek çekim ise harcama tutarı, taksitli ise harcama taksit miktarı gelecek.
aşağıdaki sorguyu yazdığımda veriler iki tablodan çekildiği için tekrarlı olarak geliyor. bunu engellemek için harcama.harcama_no=harcama_taksit.harcama.no yazdığımda ise taksitli harcamalar geliyor. fakat taksitsiz harcmalar listelenmiyor.
SELECT IF (harcama_taksitsay=1,harcama_tarih,harcama_taksit.harcama_taksittarih) AS 'İŞLEM TARİHİ',CONCAT(harcama_yer," / ",harcama_aciklama) AS 'DÖNEM İÇİ İŞLEMLER',
IF (harcama_taksitsay>1,CONCAT( harcama_taksitmiktar," X ",harcama_taksitsay,' -- ',harcama_taksitno,'. Taksit '),' ')AS 'Kalan Borç / Taksit',
IF (harcama_taksitsay>1, harcama_taksitmiktar,harcama_tutar)AS 'TUTAR(TL)'
FROM harcama,harcama_taksit
WHERE kart_id='5' AND IF (harcama_taksitsay>1,(harcama_taksittarih BETWEEN '2012-08-04' AND '2012-09-04'), (harcama_tarih BETWEEN '2012-08-04' AND '2012-09-04'))
< Resime gitmek için tıklayın >
< Resime gitmek için tıklayın >
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye Ol Şimdi DeğilÜye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.
< Bu mesaj bu kişi tarafından değiştirildi gs_semih -- 20 Eylül 2012; 18:56:45 >