• 25-10-2018, 21:24:44
    #1
    Merhaba arkadaşlar. Farklı bir problemim var ama işin içinden çıkamadım.

    select
    sistemim.id,
    sistemim.isim,
    sistemim.soyisim,
    sistemim.telefon1,
    sistemim.ozelkod,
    kayitlarim.islem1,
    kayitlarim.islem2,
    kayitlarim.ucreti,
    sum(kayitlarim.ucreti) as toplamfiyat
    from
    sistemim,kayitlarim
    where
    sistemim.id = kayitlarim.kayitid and sistemim.id = 1
    Kodu ile 1 id'sine sahip kişinin toplam ücretini çekebiliyorum.
    Fakat sum(kayitlarim.ucreti) as toplamfiyat satırını sildiğim zaman yapılan 3 işlemi satır satır görebiliyorum.
    Benim istediğim ise 3 satır (yada kaç satır varsa) görmek ve toplamfiyat değişkenine toplam fiyatı yazdırmak

    Bunu nasıl yapabilirim?
    Teşekkür ederim.
  • 26-10-2018, 20:52:35
    #2
    gizemsiz adlı üyeden alıntı: mesajı görüntüle
    Merhaba arkadaşlar. Farklı bir problemim var ama işin içinden çıkamadım.

    select
    sistemim.id,
    sistemim.isim,
    sistemim.soyisim,
    sistemim.telefon1,
    sistemim.ozelkod,
    kayitlarim.islem1,
    kayitlarim.islem2,
    kayitlarim.ucreti,
    sum(kayitlarim.ucreti) as toplamfiyat
    from
    sistemim,kayitlarim
    where
    sistemim.id = kayitlarim.kayitid and sistemim.id = 1
    Kodu ile 1 id'sine sahip kişinin toplam ücretini çekebiliyorum.
    Fakat sum(kayitlarim.ucreti) as toplamfiyat satırını sildiğim zaman yapılan 3 işlemi satır satır görebiliyorum.
    Benim istediğim ise 3 satır (yada kaç satır varsa) görmek ve toplamfiyat değişkenine toplam fiyatı yazdırmak

    Bunu nasıl yapabilirim?
    Teşekkür ederim.
    Alttakine benzer bir sorguyla belki yapabilirsiniz ama kayıt çoksa performans olarak biraz sıkıntı yaşatabilir çünkü her kayıt için subquery çalışacaktır. Bunun yerine toplam ücreti farklı bir sorguda çektirip kayıtları farklı bir sorguda almanızı öneririm.

    select
    sistemim.id,
    sistemim.isim,
    sistemim.soyisim,
    sistemim.telefon1,
    sistemim.ozelkod,
    kayitlarim.islem1,
    kayitlarim.islem2,
    kayitlarim.ucreti,
    (SELECT sum(ucreti) FROM kayitlarim WHERE kayitid = sistemim.id) as toplamfiyat,
    from
    sistemim,kayitlarim
    where
    sistemim.id = kayitlarim.kayitid and sistemim.id = 1
  • 26-10-2018, 20:57:26
    #3
    Mantık olarak tüm satırları çekecekseniz toplama işlemini php ile yapmanız daha doğru olur.
  • 27-10-2018, 16:29:30
    #4
    yasarkemaldag adlı üyeden alıntı: mesajı görüntüle
    Alttakine benzer bir sorguyla belki yapabilirsiniz ama kayıt çoksa performans olarak biraz sıkıntı yaşatabilir çünkü her kayıt için subquery çalışacaktır. Bunun yerine toplam ücreti farklı bir sorguda çektirip kayıtları farklı bir sorguda almanızı öneririm.

    select
    sistemim.id,
    sistemim.isim,
    sistemim.soyisim,
    sistemim.telefon1,
    sistemim.ozelkod,
    kayitlarim.islem1,
    kayitlarim.islem2,
    kayitlarim.ucreti,
    (SELECT sum(ucreti) FROM kayitlarim WHERE kayitid = sistemim.id) as toplamfiyat,
    from
    sistemim,kayitlarim
    where
    sistemim.id = kayitlarim.kayitid and sistemim.id = 1
    Verdiğiniz cevap için teşekkür ederim.
    Toplamfiyat, kısmındaki , virgülü kaldırınca sorgu çalıştı.
    Peki son olarak bunu tek bir satırda listeletme yapabilir miyim? Yani toplamfiyat satırını bir defa yazdırabilir miyim?