Kullanıcı

Hoşgeldiniz Ziyaretçi. Lütfen giriş yapın veya kayıt olun.
E-posta adresinize aktivasyon iletisi gelmediyse lütfen buraya tıklayın.
30 Temmuz 2010 09:34:12

Kullanıcı adınızı, şifrenizi ve aktif kalma süresini giriniz

Sohbet Penceresi

Son 5 Notlar:

09 Temmuz 2010 15:09:00
merhaba arkadaÅŸlar ilk defa bi soru soracam
son olarak üzerinde çalıştığım bi proğramda sorun var
datadan belirli bi kritere göre arama yapıyor bunlardan çift olanları teke düşürüp gride nasıl yazdıra bilirim
örnek vererek anlatırsam daha sağlam olur sanırsam

datadan k
10 Temmuz 2010 03:07:46
GÜZEL SİTE SEVDİM ;D
14 Temmuz 2010 14:45:20
aloo nasılsınız...
15 Temmuz 2010 18:16:38
 maske msnden bi konuÅŸalım kanky.
17 Temmuz 2010 15:16:16
ınterbase procedure soruma cevap verecek sevgili bir kul yokmu arkadaşlar ?

Show 50 latest

Gönderen Konu: SQL Åžartlı Toplama sorgusu nasıl olur?  (Okunma sayısı 455 defa)

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Çevrimdışı onselder

  • Yeni Üye
  • *
  • İleti: 4
  • Rep: +0/-0
SQL Şartlı Toplama sorgusu nasıl olur?
« : 23 Åžubat 2010 19:05:22 »
Firebird 2.1 kullanıyorum
İbQuery nesnesinin sql cümlesi şu şekilde

with dm.raporqry do
Begin
Close;
SQL.Clear;
SQL.Add('select');
SQL.Add('a.MUSTERINO, a.ADI, a.SOYADI, b.SIPARISNO, b.SIPARISTARIHI, b.TESLIMTARIHI, b.TESLIMEDILECEKTARIH, b.DURUMU,');
SQL.Add('b.TESLIMEDEN, b.TESLIMALAN, b.TOPLAMTUTAR, b.PARCA, b.MUSTERINO, a.SEMT, a.ILCE');

SQL.Add('from MUSTERILER a, SIPARISLER b');
SQL.Add('where b.MUSTERINO=a.MUSTERINO');
SQL.Add('and b.TESLIMTARIHI >='+QuotedStr(datetostr(datetimepicker1.Date)));

Open;
end;

Bu kod normal çalışıyor ama ben sorgu içindeki parca alanlarının toplamını aldırmak istiyorum.
Aşağıdaki kodu yazdım ama sorun veriyor.


with dm.raporqry do
Begin
Close;
SQL.Clear;
SQL.Add('select');
SQL.Add('a.MUSTERINO, a.ADI, a.SOYADI, b.SIPARISNO, b.SIPARISTARIHI, b.TESLIMTARIHI, b.TESLIMEDILECEKTARIH, b.DURUMU,');
SQL.Add('b.TESLIMEDEN, b.TESLIMALAN, b.TOPLAMTUTAR, b.PARCA, b.MUSTERINO, a.SEMT, a.ILCE');
SQL.Add('SUM(b.PARCA) as TPARCA');
SQL.Add('from MUSTERILER a, SIPARISLER b');
SQL.Add('where b.MUSTERINO=a.MUSTERINO');
SQL.Add('and b.TESLIMTARIHI >='+QuotedStr(datetostr(datetimepicker1.Date)));
Open;
end;


Bu şekilde yaptım hata veriyor. Sizce nasıl yapmalıyım. yardımlarınızı bekliyorum....

Çevrimdışı barutali

  • Global Moderatör
  • *****
  • İleti: 1.316
  • Rep: +38/-0
  • Cinsiyet: Bay
  • Falan filan ...
Ynt: SQL Şartlı Toplama sorgusu nasıl olur?
« Yanıtla #1 : 24 Åžubat 2010 02:56:10 »
Kod: (delphi) [Seç]
with dm.raporqry do
Begin
Close;
SQL.Clear;
SQL.Add('select');
SQL.Add('a.MUSTERINO, a.ADI, a.SOYADI, b.SIPARISNO, b.SIPARISTARIHI, b.TESLIMTARIHI, b.TESLIMEDILECEKTARIH, b.DURUMU,');
SQL.Add('b.TESLIMEDEN, b.TESLIMALAN, b.TOPLAMTUTAR, b.MUSTERINO, a.SEMT, a.ILCE,');
SQL.Add('SUM(b.PARCA) as TPARCA');
SQL.Add('from MUSTERILER a, SIPARISLER b');
SQL.Add('where b.MUSTERINO=a.MUSTERINO');
SQL.Add('and b.TESLIMTARIHI >='+QuotedStr(datetostr(datetimepicker1.Date)));
Open;
end;

bu ÅŸekilde denermisin ..
En İyi Öğrenme Metodu Yaparak ve Yaşayaraktır.
M.Kemal ATATÜRK

Çevrimdışı onselder

  • Yeni Üye
  • *
  • İleti: 4
  • Rep: +0/-0
Ynt: SQL Şartlı Toplama sorgusu nasıl olur?
« Yanıtla #2 : 24 Åžubat 2010 03:01:27 »
kodda bir değişiklik yapmmaşsınız ki :(

Çevrimdışı barutali

  • Global Moderatör
  • *****
  • İleti: 1.316
  • Rep: +38/-0
  • Cinsiyet: Bay
  • Falan filan ...
Ynt: SQL Şartlı Toplama sorgusu nasıl olur?
« Yanıtla #3 : 24 Åžubat 2010 03:06:30 »
Satır 7 : da hem b.PARCA demişsin hemde 8. satırda SUM(PARCA) demişsin ... ayrıca ...
satır 7 de yine b.ILCE den sonra virgül koymamışsın ...
onları düzelttim ..

daha dikkatli incelemeni tavsiye ederim .. iki farklı tabloda kesişen alanlar içinde JOIN kullanman çok daha yararlı olur..
« Son Düzenleme: 24 Åžubat 2010 03:37:44 by barutali »
En İyi Öğrenme Metodu Yaparak ve Yaşayaraktır.
M.Kemal ATATÜRK

Çevrimdışı onselder

  • Yeni Üye
  • *
  • İleti: 4
  • Rep: +0/-0
Ynt: SQL Şartlı Toplama sorgusu nasıl olur?
« Yanıtla #4 : 24 Åžubat 2010 03:12:06 »
vakit ayırdığınız için ilginize teşekkür ederim.
Noktalama hatalarını giderdim. Ancak sorunum şöyle;

iki tablom var bu iki tabloyu tek dbgrdidde ib query nesnesi kullanarak listeletiyorum.
Yalnız listeledikten sonra dbgriddeki PARCA alanının sütun toplamını almak istiyorum.
Fikrinizi var mı?

Gecenin bu saatinde mesajı yanıtlayacağınız aklıma gelmezdi tekrar teşekkürler...

Çevrimdışı barutali

  • Global Moderatör
  • *****
  • İleti: 1.316
  • Rep: +38/-0
  • Cinsiyet: Bay
  • Falan filan ...
Ynt: SQL Şartlı Toplama sorgusu nasıl olur?
« Yanıtla #5 : 24 Åžubat 2010 03:49:26 »
  Böyle bir durumda GROUP BY ile gruplaman lazım ama birden fazla alan olduÄŸu için herbirini GROUP BY dan sonra eklemende gerekiyor...

 Ben sadece toplamı öğreneyim yeter dersen ..

Select SUM(PARCA) From SIPARIS Where MUSTRINO = 1234 AND TESLIMTARIHI = '24.02.2010'

Diyerek toplamı alabilirsin ..

2. bi seçenek ..
Normal sadece Where ile kriterleyip listelersin ve PARCA alanını döngü ile toplatırsın ..

3. bi seçenek ..
CXGrid kullanıyorsan onun footer özelliğinde otomatik olarak bu işlemi yaptırabilirsin ki ben hep öyle yapıyorum ...
En İyi Öğrenme Metodu Yaparak ve Yaşayaraktır.
M.Kemal ATATÜRK

Çevrimdışı onselder

  • Yeni Üye
  • *
  • İleti: 4
  • Rep: +0/-0
Ynt: SQL Şartlı Toplama sorgusu nasıl olur?
« Yanıtla #6 : 24 Åžubat 2010 03:54:15 »
teşekkürler ilk seçenek işimi gördü...