Excel Forum
ALTIN ÜYELİK Hakkında Bilgi


Geri Git   Excel Forum > Diğer Yazılımlar > SQL
Atatürk
Şifremi Unuttum

DUYURU SİSTEMİ / REKLAM PANOSU

SQL Yapısal sorgulama dili hakkında sorularınızı buraya sorabilirsiniz.

Özel Arama


Yanıtla
 
Paylaş Konu Araçları Görünüm Modları
Eski 27-09-2015, 20:18   #1
Tahirsalt
 
Giriş: 05/04/2015
Şehir: Tr
Mesaj: 16
Excel Vers. ve Dili:
2007
Varsayılan Yürüyen Bakiye neden istediğim sırada değil?

Selamlar,
SQLde çok amatörüm. 2 gündür bu konu hakkında dünyayı dolaştım. Ancak aşağıdaki aşamaya getirebildim. Bir yazılımın 2008Mssql datası mevcut. Özetle istediğim Borç ve Alacak sütunlarından Bakiyeyi bulmak.

TABLO OLUŞTURMA
create table Yevmiye (
Refno int,
Refno2 int,
Fisno NVARCHAR(9),
Tip NVARCHAR(1),
Borclu float,
Alacakli float,
Fistar smalldatetime,
Evraktarihi smalldatetime)

VERİLERİ GİRME
insert into Yevmiye values(1,1,0000000001,'B',1000,null,'02/13/2014 00:00:00','02/10/2014 00:00:00')
insert into Yevmiye values(1,2,0000000001,'C',null,500,'02/13/2014 00:00:00','02/11/2014 00:00:00')
insert into Yevmiye values(1,3,0000000001,'B',2000,null,'02/13/2014 00:00:00','02/13/2014 00:00:00')
insert into Yevmiye values(2,1,0000000008,'B',1000,null,'02/14/2014 00:00:00','02/10/2014 00:00:00')
insert into Yevmiye values(2,2,0000000008,'C',null,300,'02/14/2014 00:00:00','02/11/2014 00:00:00')
insert into Yevmiye values(2,3,0000000008,'C',null,10000,'02/14/2014 00:00:00','02/18/2014 00:00:00')
insert into Yevmiye values(3,1,0000000003,'C',null,5000,'02/15/2014 00:00:00','02/14/2014 00:00:00')
insert into Yevmiye values(3,2,0000000003,'B',3000,null,'02/15/2014 00:00:00','02/14/2014 00:00:00')
insert into Yevmiye values(3,3,0000000003,'B',2000,null,'02/15/2014 00:00:00','02/14/2014 00:00:00')
insert into Yevmiye values(3,4,0000000003,'C',null,500,'02/15/2014 00:00:00','02/11/2014 00:00:00')


SORGU
select
Refno,
Refno2,
Fisno,
Fistar,
Evraktarihi,
Fisno,
Tip,
Borclu = isnull(Borclu,0),
Alacakli = isnull(Alacakli,0),
Bakiye = (isnull(Borclu,0)-isnull(Alacakli,0)) +
isnull((select sum((isnull(Borclu,0)-isnull(Alacakli,0)))
From Yevmiye b where (b.Refno2) < (a.Refno2) ),0)
from Yevmiye a ;


BU SORGUDAN SONRA ÇIKAN RAPOR
Refno Refno2 Fistar Belgetarihi Fisno Tip Borclu Alacakli Bakiye

1 1 13.02.2014 00:00 10.02.2014 00:00 1 B 1000 0 1000
1 2 13.02.2014 00:00 11.02.2014 00:00 1 C 0 500 -3500
1 3 13.02.2014 00:00 13.02.2014 00:00 1 B 2000 0 1200
2 1 14.02.2014 00:00 10.02.2014 00:00 8 B 1000 0 1000
2 2 14.02.2014 00:00 11.02.2014 00:00 8 C 0 300 -3300
2 3 14.02.2014 00:00 18.02.2014 00:00 8 C 0 10000 -10800
3 1 15.02.2014 00:00 14.02.2014 00:00 3 C 0 5000 -5000
3 2 15.02.2014 00:00 14.02.2014 00:00 3 B 3000 0 0
3 3 15.02.2014 00:00 14.02.2014 00:00 3 B 2000 0 1200
3 4 15.02.2014 00:00 11.02.2014 00:00 3 C 0 500 -7300



OLMASI GEREKEN İSE
1 1 13.02.2014 00:00 10.02.2014 00:00 1 B 1000 0 1000
1 2 13.02.2014 00:00 11.02.2014 00:00 1 C 0 500 500
1 3 13.02.2014 00:00 13.02.2014 00:00 1 B 2000 0 2500
2 1 14.02.2014 00:00 10.02.2014 00:00 8 B 1000 0 3500
2 2 14.02.2014 00:00 11.02.2014 00:00 8 C 0 300 3200
2 3 14.02.2014 00:00 18.02.2014 00:00 8 C 0 10000 -6800
3 1 15.02.2014 00:00 14.02.2014 00:00 3 C 0 5000 -11800
3 2 15.02.2014 00:00 14.02.2014 00:00 3 B 3000 0 -8800
3 3 15.02.2014 00:00 14.02.2014 00:00 3 B 2000 0 -6800
3 4 15.02.2014 00:00 11.02.2014 00:00 3 C 0 500 -7300
Tahirsalt Çevrimdışı   Alıntı Yaparak Cevapla
Eski 27-09-2015, 20:21   #2
Tahirsalt
 
Giriş: 05/04/2015
Şehir: Tr
Mesaj: 16
Excel Vers. ve Dili:
2007
Varsayılan

Özetle; En son sütuna dikkat ederseniz, Bakiye sütunu ilk satırda 1000 vermiş. Ama ikinci satırda -3500 vermiş. "500" vermesi gerekirdi.
Tahirsalt Çevrimdışı   Alıntı Yaparak Cevapla
Eski 27-09-2015, 21:54   #3
Zeki Gürsoy
Uzman
 
Zeki Gürsoy kullanıcısının avatarı
 
Giriş: 31/12/2005
Şehir: Sakarya-Hendek
Mesaj: 3,375
Excel Vers. ve Dili:
Office 2016 (x64) - Türkçe
Varsayılan

Öncelikle merak ettiğim, yürüyen bakiye hazırlanacak liste kaç kayıt oluyor? Çok fazla değilse, bir memory recordset ile işi bitirin bence.

Ancak orjinal birşey olsun derseniz aşağıdaki başlıkta Berkant 3 farklı model test etmiş. Özellikle 3. model çok yüksek performans ile sonuç getiriyor ve oldukça sade bir sorgu.

http://www.access-sql.com/Konu-SQL-S...Yuruyen-Bakiye


.
__________________

gursoyzeki@gmail.com




Zeki Gürsoy Çevrimdışı   Alıntı Yaparak Cevapla
Eski 11-10-2015, 21:40   #4
Tahirsalt
 
Giriş: 05/04/2015
Şehir: Tr
Mesaj: 16
Excel Vers. ve Dili:
2007
Varsayılan

Teşekkür ederim. Link faydalı oldu...
Tahirsalt Çevrimdışı   Alıntı Yaparak Cevapla
Yanıtla


Konu Araçları
Görünüm Modları

Gönderme Kuralları
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Açık
SimgelerAçık
[IMG] kodu Açık
HTML kodu Kapalı


Saat 05:46


Bu forum Elit NET - www.elitnet.com.tr tarafından sunulmaktadır.

Excel Eğitimi - Mobil Uygulama - Çorlu - Çorlu Web Tasarım -- Beylikdüzü mali müşavir - Beylikdüzü mali müşavir - Lingerie - Dyeing Machine - Karton Bardak- Karton Bardak- Çorlu Dil Konuşma Terapisti- Çorlu Dil Konuşma Terapisti- Çorlu Konuşma Terapisti- Çorlu Konuşma Terapisti- Çorlu Özel Eğitim- Site Yönetimi- Pronet Tekirdağ- Çorlu Kamera- Pronet Edirne- Pronet Çorlu- Çorlu Araç Takip- Çorlu Su Arıtma- Gebze Emlak- Rampa- Rotary- Çorlu İnternet Sitesi- Çorlu Sürücü Kursu- Çorlu Sürücü Kursu- Şişli Avukat- Edirne Serbest Muhasebeci- Çorlu Etüt- İstanbul Botanik- Çorlu Sigorta- Kağıt Bardak- Kağıt Bardak- Kaplan Tekstil- Çorlu Perde- Çorlu Perde- Çorlu Havuz- Çorlu Havuz- Makina- Danışmazlar- Çorlu Perde Yıkama- Çorlu Perde Yıkama- Okul Danışmanlık- Çorlu Ayakkabı- İzmit Sigorta-
Powered by vBulletin Version 3.7.2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Advertisement System V2.6 By   Branden