SQL SUM GROup ve insert sorunu
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
SQL SUM GROup ve insert sorunu
Merhaba
Geçenki gibi bir sorunum var.
bir e birden fazla record dmndüren iki farklı tabloya içiçe select ile sorgu atıyoruz ve işlem inanılmayacak kadar ağır. bende yapı gereği şöyle bir şey düşündüm...
tablo 1 master cari ve tablo 2 de kesilen faturaların ttar ve kdv leri var.
benden beklenen kişi bazında toplam kesilen kdv tutarı ve kdv tutarını görmek. şimdi ben bunu içiçe select yerine geçici bir tablo ile çözmeyi planlıyorum. benim listeden önce geçici bir tabloyu truncate edip fatura tablosundan bu toplamları çekicek ve ardından geçici tabloya bunu gömecek bir sorgu kurmam lazım. bir yerden basitçe okuduğunu bir yerlere yazan şekli tamam ama burda biraz yardım gerek.
Elinde örneği olan varsa paylaşabilirmi.
Geçenki gibi bir sorunum var.
bir e birden fazla record dmndüren iki farklı tabloya içiçe select ile sorgu atıyoruz ve işlem inanılmayacak kadar ağır. bende yapı gereği şöyle bir şey düşündüm...
tablo 1 master cari ve tablo 2 de kesilen faturaların ttar ve kdv leri var.
benden beklenen kişi bazında toplam kesilen kdv tutarı ve kdv tutarını görmek. şimdi ben bunu içiçe select yerine geçici bir tablo ile çözmeyi planlıyorum. benim listeden önce geçici bir tabloyu truncate edip fatura tablosundan bu toplamları çekicek ve ardından geçici tabloya bunu gömecek bir sorgu kurmam lazım. bir yerden basitçe okuduğunu bir yerlere yazan şekli tamam ama burda biraz yardım gerek.
Elinde örneği olan varsa paylaşabilirmi.
Kişi odur ki, koyar dünyada bir eser. Eseri olmayanın yerinde yeller eser./Muhammed Hadimi
http://www.ibrahimkutluay.net
http://www.ibrahimkutluay.net/blog
http://www.ibrahimkutluay.net
http://www.ibrahimkutluay.net/blog
Re: SQL SUM GROup ve insert sorunu
Yanlış anlamadı isem basit bir Join ile bunu halledebilirsiniz.
Bir kelimenin anlamını öğretsen bile yeter..



Re: SQL SUM GROup ve insert sorunu
içiçe select ile çok yavaş oluyor amaconari yazdı:Yanlış anlamadı isem basit bir Join ile bunu halledebilirsiniz.
Kişi odur ki, koyar dünyada bir eser. Eseri olmayanın yerinde yeller eser./Muhammed Hadimi
http://www.ibrahimkutluay.net
http://www.ibrahimkutluay.net/blog
http://www.ibrahimkutluay.net
http://www.ibrahimkutluay.net/blog
Re: SQL SUM GROup ve insert sorunu
Kod: Tümünü seç
SELECT M.CARIKOD, SUM(TUTAR), SUM(KDV) FROM DETAY,MASTER M
WHERE M.CARIKOD=DETAY.CARI_KOD
GROUP BY M.CARIKOD
Kod: Tümünü seç
SELECT MASTER.CARIKOD, SUM(TUTAR), SUM(KDV) FROM DETAY
INNER JOIN MASTER ON (MASTER.CARIKOD=DETAY.CARIKOD)
GROUP BY MASTER.CARIKOD
Bir kelimenin anlamını öğretsen bile yeter..



-
- Kıdemli Üye
- Mesajlar: 1223
- Kayıt: 26 Nis 2005 04:08
Re: SQL SUM GROup ve insert sorunu
Veritabanı hangisi?
Re: SQL SUM GROup ve insert sorunu
mysql vt
Kişi odur ki, koyar dünyada bir eser. Eseri olmayanın yerinde yeller eser./Muhammed Hadimi
http://www.ibrahimkutluay.net
http://www.ibrahimkutluay.net/blog
http://www.ibrahimkutluay.net
http://www.ibrahimkutluay.net/blog
-
- Kıdemli Üye
- Mesajlar: 1223
- Kayıt: 26 Nis 2005 04:08
Re: SQL SUM GROup ve insert sorunu
@conari'nin örneklediği şekilde basit bir sonuç alabilirsin ancak daha komplike bir rapor istiyorsan sp yazmalısın. Bu noktada mysql'nin versiyonu önemli; 5'ten itibaren sp desteği var bildiğiniz üzre.
Re: SQL SUM GROup ve insert sorunu
mysql in float tipli alanlarında sum fonksiyonunda sorun var..
(mysql görüntüde normal gösterirken arka planda belli bir decimale kadar(tanımladığınız) bilgilenirinizi saklıyor..)
mutlaka round kullanın ..
olmadı bir yerlerde mutlaka round ile yuvarladıklarınızı *1 deyin program içinden ona göre eklettirin..
özellikle bölme işlemi ile insert yada update ettikleriniz alanları kontrol edin..
(mysql görüntüde normal gösterirken arka planda belli bir decimale kadar(tanımladığınız) bilgilenirinizi saklıyor..)
mutlaka round kullanın ..
olmadı bir yerlerde mutlaka round ile yuvarladıklarınızı *1 deyin program içinden ona göre eklettirin..
özellikle bölme işlemi ile insert yada update ettikleriniz alanları kontrol edin..