Gruplamada grup içindeki değer adetlerine ulşamak

Firebird ve Interbase veritabanları ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
sen
Üye
Mesajlar: 34
Kayıt: 04 Tem 2003 12:33
Konum: Ankara

Gruplamada grup içindeki değer adetlerine ulşamak

Mesaj gönderen sen » 10 May 2006 12:10

sa.
firebird 1.5

örnek veriler şöyle...

GIRIS_TARIHI TUTAR TUR
---------------- ------------ -----------
01.01.2006 10 çek
01.01.2006 5 nakit
01.01.2006 3 nakit

02.01.2006 7 çek
--------------------------------------------

istedeğim sonuç

GIRIS_TARIHI TUTAR TUR
---------------- ------------ -----------
01.01.2006 18 1 adet çek 2 adet nakit
02.01.2006 7 1 adet çek

bunun SQL komutu nasıl olabilir.

teşekkürler arkadaşlar...

aLonE CoDeR
Kıdemli Üye
Mesajlar: 1223
Kayıt: 26 Nis 2005 03:08

Mesaj gönderen aLonE CoDeR » 10 May 2006 12:51

a.s.
Eğer tek sql cümlesiyle halletmek istiyorsan SubSQL kullanman gerekir;

Kod: Tümünü seç

  Select alan1, alan2, (Select Count(*) from tablo where şartlar) from tablo...
gibi..Yok sp yazarım dersen zaten select'leri sırasıyla çektikten sonra result edersin olay biter...

Kolay gele..

sen
Üye
Mesajlar: 34
Kayıt: 04 Tem 2003 12:33
Konum: Ankara

Mesaj gönderen sen » 11 May 2006 10:07

peki

...(Select Count(*) from tablo where şartlar) ...

buradaki şartlar nasıl olacak. şartlar tek olursa tamam da, şartlar birden fazla ve değişken olursa nasıl olacak mesela 'giris_tarihi' gibi.
örneğin (Select Count(*) from tablo a where tur='çek' and a.giris_tarihi=giris_tarihi)
bu şekilde olmuyor.
saygılar...

aLonE CoDeR
Kıdemli Üye
Mesajlar: 1223
Kayıt: 26 Nis 2005 03:08

Mesaj gönderen aLonE CoDeR » 11 May 2006 12:26

Türü zaten gruplaman gerekir.SubSQL içindeki şartların standart sql cümlelerdeki şartlardan farkı yok.Parametre kullanarak stabil bir yapı oluşturabilirsin.Kişisel olarak, bu tarz bi işlem için stored procedure kullanmanı salık veririm.

Kolay gele..

Cevapla