SQL Hesap İşlemi

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
pro_imaj
Kıdemli Üye
Mesajlar: 1364
Kayıt: 18 Oca 2005 05:45
Konum: Dünyadan

SQL Hesap İşlemi

Mesaj gönderen pro_imaj »

Merhaba,

Arkadaşlar, Stok işlemleri için aşağıdaki kodu kullanıyorum. Şöyle bişey yapmak istiyorum bir türlü olmadı.

Kod: Tümünü seç

With Query1 do
begin
Close;
SQL.Clear;
SQL.Add ('SELECT IslemTur, MalKodu, sum(Miktar) FROM FINSAT460.STI ');
SQL.Add ('GROUP BY MalKodu, IslemTur ');
open;
ShowMessage(Query1.SQL.Text);
label1.Caption:=Query1.Fields[0].Value;
Yukarıdaki kod ile
her ürünün toplamını aldırıp ürün bazında listeletiyorum.

Yapmak istediğim şu
IslemTur (Bu alan depo giriş çıkışını ifade ediyor. 0=Giriş , 1=Çıkış)

Kod: Tümünü seç

 
IslemTuru           MalKodu             Miktar
0                           A                     50
1                           A                     20
0                           B                     30
1                           B                     10 
0                           C                     80



Olmasını istediğim
IslemTuru           MalKodu             Miktar
0                           A                     30
0                           B                     20
0                           C                     80  
  
Yardımlarınız için tşk ederim arkadaşlar.
Gün gelecek, dilleri, elleri ve ayakları yapmış oldukları bütün kötülükleri tek tek bildirerek aleyhlerinde şahitlik edecektir. [Nur Suresi 24]
_________________
Kullanıcı avatarı
vkamadan
Kıdemli Üye
Mesajlar: 1935
Kayıt: 17 Mar 2004 03:52
Konum: Adapazarı
İletişim:

Mesaj gönderen vkamadan »

Merhaba ,

Kod: Tümünü seç

with Query1 do
begin
Close;
SQL.Clear;
SQL.Add ('SELECT MalKodu, sum(IF IslemTur=1 THEN Miktar ELSE -Miktar ENDIF) FROM FINSAT460.STI ');
SQL.Add ('GROUP BY MalKodu');
open;
ShowMessage(Query1.SQL.Text);
label1.Caption:=Query1.Fields[0].Value;
IslemTur e göre gruplamayı kaldırman gerekiyor.
iyi çalışmalar diliyorum.
Volkan KAMADAN
www.polisoft.com.tr
Kullanıcı avatarı
pro_imaj
Kıdemli Üye
Mesajlar: 1364
Kayıt: 18 Oca 2005 05:45
Konum: Dünyadan

Dostum saol

Mesaj gönderen pro_imaj »

Merhaba dostum.

Denemelerimize karşın olmadı umarım güzel bir fikir çıkar.

Not: Başka bir soru ile bu sorumun cevabı aynı yere kesişti özür dilerim.

kod1 ile kod ikiyi birbirinden çıkarıcam. baya uğraşmama rağmen olmadı


kod1

SELECT SUM (Miktar) AS TopMiktar, IslemTur, MalKodu
FROM FINSAT460.STI
WHERE IslemTur=1
GROUP BY MalKodu, IslemTur

(-)

kod2
SELECT SUM (Miktar) AS TopMiktar, IslemTur, MalKodu
FROM FINSAT460.STI
WHERE IslemTur=0
GROUP BY MalKodu, IslemTur

Bu kodları birbirinden çıkarmam gerek ama düzenleyemedim.
Teşekkür ederim
Gün gelecek, dilleri, elleri ve ayakları yapmış oldukları bütün kötülükleri tek tek bildirerek aleyhlerinde şahitlik edecektir. [Nur Suresi 24]
_________________
Cevapla