En iyi yanıtlayıcılar
Toplamını aldığımız alanların toplamını almak

Soru
-
Merhaba,
Benim sorunum iki alanın toplamını aldıktan sonra toplamını aldığım alanların genel toplamını almak istiyorum fakat başaramadım. Sorguyu aşağıdaki çalıştırdığımda her şubemiz için TL farklı satırda olduğundan dolayı döviz bazında gruplayamıyorum. Amacım tarih, Şube, Döviz Bazında toplam tutarı görmek istiyorum.
Yardımcı olabilir misiniz ?
SELECT KASATarihi ,b.BIRIMADI ,pt.PARATURU ,sum ((KUPURTURU * ADET) / bolen) tutar FROM [test_nom_opr_test].[dbo].[Gunluk_BIRIMLER_MASTER_KASA] join BIRIMLER b on Gunluk_BIRIMLER_MASTER_KASA.CIT_BIRIMID = b.BIRIM_ID join PARATURLERI pt on Gunluk_BIRIMLER_MASTER_KASA.PARATURU = pt.PARA_TR_ID where KASATarihi between '2019-08-01' and '2019-08-01' group by KASATarihi, b.BIRIMADI, pt.PARATURU, KUPURTURU, bolen order by KASATarihi, b.BIRIMADI, pt.PARATURU
Yanıtlar
-
Merhaba,
Çetin beyin yazmış olduklarına ek olarak, sorguda kupurturu,bolen alanları hem sum içinde hemde group by kullanmışınız.
Aşağıdaki şekilde deneyebilir misiniz.
SELECT KASATarihi ,b.BIRIMADI ,pt.PARATURU ,sum ((KUPURTURU * ADET) / bolen) tutar FROM [test_nom_opr_test].[dbo].[Gunluk_BIRIMLER_MASTER_KASA] join BIRIMLER b on Gunluk_BIRIMLER_MASTER_KASA.CIT_BIRIMID = b.BIRIM_ID join PARATURLERI pt on Gunluk_BIRIMLER_MASTER_KASA.PARATURU = pt.PARA_TR_ID where KASATarihi between '2019-08-01' and '2019-08-01' group by KASATarihi, b.BIRIMADI, pt.PARATURU order by KASATarihi, b.BIRIMADI, pt.PARATURU
- Yanıt Olarak İşaretleyen FCankara 11 Kasım 2019 Pazartesi 12:14
Tüm Yanıtlar
-
Kod olarak ornek veri ile istediğiniz ciktiyi verirseniz sorunuz anlaşılacak sanırım.
Not: where KASaTarihi between '2019-08-01' and '2019-08-01' garip olmus. Ya:
where KASaTarihi = '20190801'
seklinde yazın, ya da saat kismini da içerebilecek degerler icin:
where KASaTarihi >= '20190801' and KASATarihi < '20190802'
seklinde. Between SQL serverda DateTime range sorgular icin kullanılmaz (3 milisaniye hassasiyet var, yanlış sonuclara yol acabilir).
How to create a Minimal, Reproducible Example
The way to Go.
World's most advanced open source (object-) relational Database.
Flutter (for mobile, for web & desktop. -
Merhaba,
Çetin beyin yazmış olduklarına ek olarak, sorguda kupurturu,bolen alanları hem sum içinde hemde group by kullanmışınız.
Aşağıdaki şekilde deneyebilir misiniz.
SELECT KASATarihi ,b.BIRIMADI ,pt.PARATURU ,sum ((KUPURTURU * ADET) / bolen) tutar FROM [test_nom_opr_test].[dbo].[Gunluk_BIRIMLER_MASTER_KASA] join BIRIMLER b on Gunluk_BIRIMLER_MASTER_KASA.CIT_BIRIMID = b.BIRIM_ID join PARATURLERI pt on Gunluk_BIRIMLER_MASTER_KASA.PARATURU = pt.PARA_TR_ID where KASATarihi between '2019-08-01' and '2019-08-01' group by KASATarihi, b.BIRIMADI, pt.PARATURU order by KASATarihi, b.BIRIMADI, pt.PARATURU
- Yanıt Olarak İşaretleyen FCankara 11 Kasım 2019 Pazartesi 12:14
-
"KASaTarihi between '2019-08-01' and '2019-08-01' garip olmus" bu konuda haklısınız normalde tarih aralığını çektiğim için bu şekilde kullanıyorum. Örnek tek bir tarihte kaldığı için garip olmuş.
Between SQL serverda DateTime range sorgular icin kullanılmaz (3 milisaniye hassasiyet var, yanlış sonuclara yol acabilir).
notunuz için teşekkürler.
-