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,353
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 01:09


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

Excel Eğitimi - Mobil Uygulama - Çorlu - Çorlu Web Tasarım - Tarot Falı - invest in turkey - Lingerie - Dyeing Machine - Karton Bardak- Çorlu Özel Eğitim- Site Yönetimi- Led Aydınlatma- Pronet Tekirdağ- Çorlu Kamera- Pronet Edirne- Pronet Kırklareli- Pronet Çerkezköy- Pronet Çorlu- Pronet Lüleburgaz- Pronet Keşan- Çorlu Araç Takip- Çorlu Su Arıtma- Boru Profil- Gebze Emlak- Beylikdüzü Temizlik- İstanbul Burun Estetiği- Bakır Sülfat- Rampa- Rotary- Çorlu İnternet Sitesi- youngblood- Çorlu Palet- Çerkezköy Palet- Çorlu Prefabrik- Çorlu Sürücü Kursu- Çorlu Sandviç Panel- Şişli Avukat- Korona Test Kalemi- Çorlu Vinç- Çorlu Pimapen Tamiri- Çorlu Çelik Konstruksiyon-
Powered by vBulletin Version 3.7.2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Advertisement System V2.6 By   Branden