s.a. herkese iyi çalışmalar
yaptığım projede demir metrajı giriliyor tablo yapısı
çap boy adet toplam boy toplamagırlık
8 2 3 6 2,37
8 4 3 12 4,74
10 12 1 12 7,404
12 8 2 16 14,208
10 4 2 8 4,936
14 8 3 24 28,998
16
18
16
18
10
12
.........
burada yapmak istediğim çapı 8,10,12 olanların toplam agırlıklarını ayrı almak, 14,16,18 olanların toplam agırlıklarını ayrı almak istiyorum forumda araştırdım bulamadım kendim birşey yapmak istedim. şöyle bir store procedure yazdım ama olmadı
yardımlarınız için teşekkür ederim.
begin
select sum(toplamagirlik) from demirmetraj
where cap=8 and cap=10 and cap=12 and mahallerid=:gelen
into kucuktoplam;
select sum(toplamagirlik) from demirmetraj
where cap=14 and cap=16 and cap=18 and mahallerid=:gelen
into buyuktoplam;
update mahaller set
KUCUK=:kucuktoplam,
buyuk=:buyuktoplam
where mahallerid=:gelen;
end
gruplayarak toplama
Re: gruplayarak toplama
bir kaydın bir alanındaki değer tektir, yani çap alanındaki değer hem 8 hem de 10 olamaz ki...
sanırım şöyle bir düzenleme işinizi görecektir...
sanırım şöyle bir düzenleme işinizi görecektir...
Kod: Tümünü seç
select sum(toplamagirlik) from demirmetraj
where (cap=8 or cap=10 or cap=12) and mahallerid=:gelen
into kucuktoplam;
select sum(toplamagirlik) from demirmetraj
where (cap=14 or cap=16 or cap=18) and mahallerid=:gelen
into buyuktoplam;
bazen yükselmek için önce dibi görmek gerekir...
forumda soru sormadan önce bakılmalı bence
daha fazlası için...
yürümeyi öğrenmeden koşmaya çalışanlar için, tökezleyip düşmek kaçınılmazdır...
forumda soru sormadan önce bakılmalı bence
daha fazlası için...
yürümeyi öğrenmeden koşmaya çalışanlar için, tökezleyip düşmek kaçınılmazdır...
Re: gruplayarak toplama
ilgine teşekkür ederim.
bir alandaki değer neden tek olsun. satır satır aynı isimde birden çok kayıt olabilir
bir alandaki değer neden tek olsun. satır satır aynı isimde birden çok kayıt olabilir
Re: gruplayarak toplama
select sum(toplamagirlik) from demirmetraj
where cap=8 and cap=10 and cap=12 and mahallerid=:gelen
into kucuktoplam;
Bu kullanım yanlış. cap=8 ve cap=10 vs diye yapamazsın. Bu sana herhangi bir sonuç vermez.
Cap hem 8 hem 10 hem de 12 olamaz, ya 8 ya 10 veya 12 olacaktır.
Şeklinde düzenleyebilirsin. Eğer amacın 8, 10 ve 12 likleri ayrı ayrı gruplamaksa
diyerek 8, 10 ve 12 likleri ayrı ayrı toplam aldırabilirsin. İlk sorgu tek satır verirken bu group by lı sorgu 3 satir bilgi verecektir.
where cap=8 and cap=10 and cap=12 and mahallerid=:gelen
into kucuktoplam;
Bu kullanım yanlış. cap=8 ve cap=10 vs diye yapamazsın. Bu sana herhangi bir sonuç vermez.
Cap hem 8 hem 10 hem de 12 olamaz, ya 8 ya 10 veya 12 olacaktır.
Kod: Tümünü seç
select sum(toplamagirlik) from demirmetraj
where cap in (8,10,12) and mahallerid=:gelen
into kucuktoplam;
Kod: Tümünü seç
select cap,sum(toplamagirlik) from demirmetraj
where cap in (8,10,12) and mahallerid=:gelen
group by cap
into kucuktoplam;
Re: gruplayarak toplama
çok teşekkür ederim.
select sum(toplamagirlik) from demirmetraj
where cap in (8,10,12) and mahallerid=:gelen
into kucuktoplam;
bu kod işimi gördü
select sum(toplamagirlik) from demirmetraj
where cap in (8,10,12) and mahallerid=:gelen
into kucuktoplam;
bu kod işimi gördü
Re: gruplayarak toplama
benim yazdığım da aynı işi yapıyordu ki...
bazen yükselmek için önce dibi görmek gerekir...
forumda soru sormadan önce bakılmalı bence
daha fazlası için...
yürümeyi öğrenmeden koşmaya çalışanlar için, tökezleyip düşmek kaçınılmazdır...
forumda soru sormadan önce bakılmalı bence
daha fazlası için...
yürümeyi öğrenmeden koşmaya çalışanlar için, tökezleyip düşmek kaçınılmazdır...
Re: gruplayarak toplama
slm yanlış analdınız bende zaten sizin yazdığınız kodu kullandım. yani size teşekkür ediyorum. orda iki seçenek sunmuşsunuz. bende, bu kod işimi gördü dedim. yardımlarınız teşekkür ederim.