folder Tahribat.com Forumları
linefolder Database - Veritabanı
linefolder Mssql Sum Kullanımı Hakkında



Mssql Sum Kullanımı Hakkında

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    LuCiFeR
    LuCiFeR's avatar
    Kayıt Tarihi: 25/Eylül/2005
    Erkek

    Merhaba arkadaşlar sorunum şu 3 tane tablom var bu tablolar şöyle

     

    1- Firmalar

    2- Alan1

    3- Alan2

     

    Yapmak istediğim şu Firmalar tablosunda ki firmaları listeletip alan1 ve alan2 de ücretlerin bulunduğu kolonun satırlarını toplatıp fırmanın yanına yazdırmak. Dünden bu yana üzerinde uğraşıyorum Firmalar ve diğer 2 tablodan sadece 1 tanesini alınca sorun yok gayet güzel toplayp firmanın yanında toplamı gösteriyor ancak nezaman 3.tabloyu sorguya ekliyorum herhangi bir alanını seçmesem bile çalıştırdığımda hesaplar saçmalıyor nedenini bir türlü çözmedim yardımlarınızı bekliyorum...

  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    mYMusti
    mYMusti's avatar
    Kayıt Tarihi: 17/Nisan/2008
    Erkek

    örnek çalışmanı koy çözelim hocam ;) sorun olmaz alması lazım 

  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    LuCiFeR
    LuCiFeR's avatar
    Kayıt Tarihi: 25/Eylül/2005
    Erkek

    http://www.dosya.tc/server21/JJahNp/db.rar.html

     

    rarladım backup ı umarım dogru yapmsmdr mssql e yenı basladım da :)

  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    SharpShooter
    SharpShooter's avatar
    Banlanmış Üye
    Kayıt Tarihi: 10/Temmuz/2008
    Erkek

    select firmaadi, (alan1 + alan2) as Toplam from firma

    gibi;?

    SharpShooter tarafından 07/Eyl/12 13:05 tarihinde düzenlenmiştir

    - xx yerde hata var. - ya aslında kod şöyle sanıyor olabilir bla bla bla - olm kendine gel kodlar düşünmez - ...
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    LuCiFeR
    LuCiFeR's avatar
    Kayıt Tarihi: 25/Eylül/2005
    Erkek

    Teşekkürler ama olmadı hocam :( 

  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    LuCiFeR
    LuCiFeR's avatar
    Kayıt Tarihi: 25/Eylül/2005
    Erkek
    FİRMA ADI ALAN 1 KAZANCI ALAN 2 KAZANCI
    FİRMA 1 25 TL 15 TL
    FİRMA 2 0 TL 40 TL

    Yapmak istediğim tam anlamıyla yukarıda ki gibi bir tablo

     

    Db de ki tablolar ve alanları

     

    Firmalar tablosu

    firma_id : int

    firma_adi : nvarchar

    ---

    Alan1 tablosu

    f_id : int

    tutar : money

    ----

    Alan2 tablosu

    firm_id : int

    ucret : money

  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    mYMusti
    mYMusti's avatar
    Kayıt Tarihi: 17/Nisan/2008
    Erkek

    select firma_adi, (sum(tutar)+sum(money)) from firmalar,alan1,alan2 where firma_id = f_id and firma_id = firm_id

     not : db ye bakamadım sql server kurdurma bana hocam :D bu kodun olması lazım :D

    mYMusti tarafından 07/Eyl/12 14:11 tarihinde düzenlenmiştir
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    LuCiFeR
    LuCiFeR's avatar
    Kayıt Tarihi: 25/Eylül/2005
    Erkek

    " is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause. "

    şeklinde bir uyarı veriyor musti kardeş:)

  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    KodlayanAdam
    KodlayanAdam's avatar
    Kayıt Tarihi: 01/Ekim/2005
    Erkek
    SELECT firma_adi AS [FİRMA ADI], alan1tutar AS [ALAN 1 KAZANCI], ISNULL(SUM(B.ucret), 0) AS [ALAN 2 KAZANCI] FROM 
    (SELECT F.firma_adi, F.firma_id, ISNULL(SUM(A.tutar), 0) AS alan1tutar FROM firmalar F
    LEFT OUTER JOIN alan1 A ON A.fi_id = F.firma_id
    GROUP BY F.firma_adi, F.firma_id) tmp
    LEFT OUTER JOIN alan2 B ON tmp.firma_id = B.firm_id
    GROUP BY tmp.firma_adi, tmp.firma_id, alan1tutar
    KodlayanAdam tarafından 07/Eyl/12 16:07 tarihinde düzenlenmiştir

    Hiç savaş görmemiş çocuklarla, hiç barış görüşmemiş çocuklar için adalet farklı anlamlar taşır.
  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    mYMusti
    mYMusti's avatar
    Kayıt Tarihi: 17/Nisan/2008
    Erkek

    select firma_adi, (sum(tutar)+sum(money)) from firmalar,alan1,alan2 where firma_id = f_id and firma_id = firm_id

    group by  firma_adi, (sum(tutar)+sum(money))

     veya 

    select firma_adi, (sum(tutar)+sum(money)) from firmalar,alan1,alan2 where firma_id = f_id and firma_id = firm_id

    group by  firma_adi

     

    şimdi dene hocam firma adi ve tutara göre gruplaması lazım olmaz sa eger pm attım :)

    mYMusti tarafından 07/Eyl/12 16:22 tarihinde düzenlenmiştir
  11. KısayolKısayol reportŞikayet pmÖzel Mesaj
    LuCiFeR
    LuCiFeR's avatar
    Kayıt Tarihi: 25/Eylül/2005
    Erkek

    İlgilenen arkadaşlara tek tek teşekkür ederim KodlayanAdam'ın yazdığı şekilde sorunsuz çalıştı sorgu. Bir de bu sorguyu nasıl yaptın abi ya view dan mı yaptın ben çözümleyene kadar öldüm özllikle alan1tutar yerlerinde onları as gibi tanımlama sandım başta:)

Toplam Hit: 2643 Toplam Mesaj: 13