biraz sum, bıraz çıkarma işlemi
biraz sum, bıraz çıkarma işlemi
kardeşler;
bu gece saat 03:40'a kadar uğraştım artık kafam basmaz oldu. projedenin uğraştığım sayfasında 1742 satır kod var.
yapmak istediğim son derece basit. 3 tane query var. 3 'üde sum fonksiyonlu query. bunların 1.sinden 2.yi çıkaracağım. kalanı da diğer query'e atayacağım. biri hemen bana bi cevap yazsın yoksa kafayı oynatacağım.
kolay gelsin...
bu gece saat 03:40'a kadar uğraştım artık kafam basmaz oldu. projedenin uğraştığım sayfasında 1742 satır kod var.
yapmak istediğim son derece basit. 3 tane query var. 3 'üde sum fonksiyonlu query. bunların 1.sinden 2.yi çıkaracağım. kalanı da diğer query'e atayacağım. biri hemen bana bi cevap yazsın yoksa kafayı oynatacağım.
kolay gelsin...
Epey yorulduğunuz sorudan da belli oluyor... Zira tam olarak ne yapmak istediğinizi anlamadim... Yani birşeyler anladim da herhalde bu degildir denilmek istenen diyorum.... Gerekirse sql cumleleri ile tekrar yazarsanız bakalim. Ayrıca veritabanı nedir? eger sub query destekliyorsa bahsettiginiz birbirinden cikacak iki query'yi tek bir query olarak da alabilirsiniz. Hatta update'i bile tek bir sql statement icinden yapabilirsiniz... Yeter ki veritabanı sizi yarıyolda bırakmasın....
Herhalde bu kadar basit degildir aradıgınız cevap:
Herhalde bu kadar basit degildir aradıgınız cevap:
Kod: Tümünü seç
Query3ALAN.AsInteger:=Query1TOPLAM_ANALI.AsInteger-Query2TOPLAM_ALANI.AsInteger;
* http://www.fahrettin.org Manzara Fotoğraflarım... 
* http://delphiturkiye.gunduz.info Seminerler...
* http://www.hakmar.com.tr Kalite bir haktır...

* http://delphiturkiye.gunduz.info Seminerler...

* http://www.hakmar.com.tr Kalite bir haktır...

valla bende şöyle birşey anladım iki ayrı alanın en büyük değerlerini bulup bunların farkıyla üçüncü alanda arama yaptırıcan galiba
aşağıdakine benzer iki fonksiyon ile iki değer alıp
aradeğer= fonksiyon1 - fonksiyon2;
3. fonksiyondada bu ara değer ile arama yapmak gibi bir çözüm geldi aklıma,
soruyu yanlış anladıysam pardon
aşağıdakine benzer iki fonksiyon ile iki değer alıp
Kod: Tümünü seç
with QueQuery do
begin
Close;
Sql.Clear;
Sql.Add('SELECT MAX(deneme.isNo)');
Sql.Add('FROM deneme');
Sql.Add('WHERE deneme.Tarih=:TAR');
Params[0].AsDate:=Date;
Open;
if not Fields[0].isNull then
if Fields[0].AsInteger <> 0 then
maxisNo := Fields[0].AsInteger;
fonksiyonadı := maxisNo;
Close;
end;
3. fonksiyondada bu ara değer ile arama yapmak gibi bir çözüm geldi aklıma,
soruyu yanlış anladıysam pardon
Soru çok açık olmadığından anlamak da zor oluyor maalesef:( Query ye atamadan kasıt nedir? Yani bu bir RequestLive açılmış Query mı ki 1. ve 2.querynin farkını bunun bir alanına atayacaksın??
İstediğiniz böyle birşey mi bilemiyorum? Queryleri yazmada problem yoktur sanırım. Çünkü tabloları ve alanları bilemeyince neye göre SUM alınacağını da tahmin edemedim? Olayı query bazında değil de tablo bazında açıklamak soruyu daha anlaşılır kılacaktı.
Kod: Tümünü seç
Query3.FieldByName('FARK').AsFloat := Query1.FieldByName('TOP_ODEME').AsFloat - Query2.FieldByName('TOP_TAHSILAT').AsFloat;
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
şimdiiii...
query1 -->tum alacakların bulunduğu tablo(sum fonk. ile tablonun miktar field'ındaki tüm değerleri toplatıracam)
query2-->tüm tahsilatların bulunduğu tablo(yine sum ile tablonun miktar alanındaki tüm değerleri toplattıracam)
QUERY3-->bu query hiçbir tabloya bağlı değil. sadece üzerinde hayali bir currency alan var. bu hayali alana da query1(sum miktar) - query2(sum miktar) farkını koyacağım.
hepsi hepsi bu...
query1 -->tum alacakların bulunduğu tablo(sum fonk. ile tablonun miktar field'ındaki tüm değerleri toplatıracam)
query2-->tüm tahsilatların bulunduğu tablo(yine sum ile tablonun miktar alanındaki tüm değerleri toplattıracam)
QUERY3-->bu query hiçbir tabloya bağlı değil. sadece üzerinde hayali bir currency alan var. bu hayali alana da query1(sum miktar) - query2(sum miktar) farkını koyacağım.
hepsi hepsi bu...
eger query3 hic bir yere bagli degilse oraya ataam yapamazsınız....Sadece sonucu gostermekse amac bunun yerine tek query ile bunu yapin derim....
Paradox hangisini kabul eder bilmiyorum ama bunları kabul etmese de kabul edecegi bir kod yakalanabilir kanaatindeyim....
NOT: Her ikisi de sybase'de calismakta. Atmasyon degiller yani
Kod: Tümünü seç
Select (Select Sum(ALAN1) from tablo1)-(Select Sum(ALAN2) from tablo2) as SONUC
Kod: Tümünü seç
Select Sum(ALAN1) -(Select Sum(ALAN2) from tablo2) as SONUC
from tablo1
NOT: Her ikisi de sybase'de calismakta. Atmasyon degiller yani

* http://www.fahrettin.org Manzara Fotoğraflarım... 
* http://delphiturkiye.gunduz.info Seminerler...
* http://www.hakmar.com.tr Kalite bir haktır...

* http://delphiturkiye.gunduz.info Seminerler...

* http://www.hakmar.com.tr Kalite bir haktır...

fahrettin abi sağol yaaaa.
insan şu iki kodu hatırlamak için sabahlara kadar uğraşıyo. görüncede çılgına dönüyo. e tabii gece 03'e kadar oturunca kayış kopuyo. valla formadi.close komutu için bile bisürü sorun yaşadım. yoksa programcılığı bilmeyen biri değilim. 6 yıldır uğraşıyorum. adam 11 de yatıp sabah dinç olarak kalkıyo
ondan sonra da böyle güzel kodlar yazıyo...
özetle çok teşekkür ederim.
insan şu iki kodu hatırlamak için sabahlara kadar uğraşıyo. görüncede çılgına dönüyo. e tabii gece 03'e kadar oturunca kayış kopuyo. valla formadi.close komutu için bile bisürü sorun yaşadım. yoksa programcılığı bilmeyen biri değilim. 6 yıldır uğraşıyorum. adam 11 de yatıp sabah dinç olarak kalkıyo

özetle çok teşekkür ederim.