• 05-09-2012, 02:53:34
    #1
    kartlar diye bir tablom var. bu tabloda kart sahiplerinin adlarını tutuyorum. burda oluşturduğum alanlar
    | kartid | kartsahibi | yatırılacak miktar |

    kartodeme diye bi tablom var ve bu tabloda da kartlar tablosundaki kartid ye göre karta ne kadar yatırılmış ve karttan ne kadar çekilmiş onları tutuyorum. alanlarım ise

    | odemeid | kartid | tutar | girdi_cikti | aciklama

    NOT: girdi_cikti alanı 0 ise yatırılmış yani pozitif, girdi_cikti alanı 1 ise çekilmiş yani negatif.

    örnek bi tablo içinse

    kartlar tablosu sırasıyla :

    | kartid | kartsahibi | yatırılacak miktar |

    | 1 | Ad Soyad | 1,250.00 TL |
    | 2 | Ad Soyad | 1,000.00 TL |

    kartlarodeme Tablosu sırayla :

    | odemeid | kartid | tutar | girdi_cikti | aciklama |

    | 1 | 1 | 200.00 TL | 1 | aciklama alanı |
    | 2 | 1 | 700.00 TL | 0 | aciklama alanı |
    | 3 | 2 | 350.00 TL | 0 | aciklama alani |
    | 4 | 2 | 300.00 TL | 1 | aciklama alani |
    | 5 | 1 | 500.00 TL | 0 | aciklama alani |
    | 1 | 1 | 800.00 TL | 1 | aciklama alanı |


    kartlar tablosunda ki kartid ile kartodeme tablosundaki kartid yi karşılaştırarak tutar tablosundaki verileri toplamak istiyorum. ama bunu yaparkende girdi_cikti alanında 1 olanları ayrı 0 olanları ayrı toplamak istiyorum. ve bi değişken ile yazdırmak istiyorum. örnek olarak toplayayım size.

    kartid si 1 olan ve girdi_cikti 0 olan tutar 700 + 500 = 1200 TL.
    kartid si 1 olan ve girdi_cikti 1 olan tutar 200 + 800 = 1000 TL

    İşte bu algoritmayı bi kuramadım. umarım anlatabildim.

    Bu arada JOIN kullnadım bilginiz olsun.
  • 05-09-2012, 03:01:49
    #2
    Yatırılmışlar için;
    SELECT SUM(tutar) FROM kartlarodeme WHERE kartid = '1' AND girdi_cikti = '0'

    Çekilmişler için;
    SELECT SUM(tutar) FROM kartlarodeme WHERE kartid = '1' AND girdi_cikti = '1'

    Hocam umarım sorunuzu doğru anlamışımdır :/
  • 05-09-2012, 03:21:48
    #3
    valla soruyu doğru anlamışsın ama ekrana basmıyor malesef. acaba yanlışmı yaptım diye bakıyorum bi yanlışlıkta yok. While döngüsünün dışına yazdım. Ama malesf ekrana basmadı..

    for döngüsü oluşturmayı denedim. yemedi.

    --R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 03:21:48 -->-> Daha önceki mesaj 03:15:40 --

    hatayı buldum. kartlarodeme değil kartodeme olacak. orda hata yapmışım ben. ama bu seferde ekrana Resource id #6 ve Resource id #7 basıyor.
  • 05-09-2012, 17:33:48
    #4
    hala günceldir...
  • 06-09-2012, 02:53:46
    #5
    mtn adlı üyeden alıntı: mesajı görüntüle
    Yatırılmışlar için;
    SELECT SUM(tutar) FROM kartlarodeme WHERE kartid = '1' AND girdi_cikti = '0'

    Çekilmişler için;
    SELECT SUM(tutar) FROM kartlarodeme WHERE kartid = '1' AND girdi_cikti = '1'

    Hocam umarım sorunuzu doğru anlamışımdır :/
    Dostum senin verdiğin kod ile çözdüm olayı. ben yanlış yerde işleme aldırıyormuşum.. teşekkür ederim..