yürüyen cari bakiye
Nereden Yazdırıldığı: ERP Nedir? | Türkiye'nin ERP Forum Platformu
Kategori: SQL
Forum Adı: SQL Veri Tabanı İşlemleri
Forum Tanımlaması: Table,View,Trigger,SELECT,UPDATE,INSERT...
URL: http://www.erpne.org/forum_posts.asp?TID=4123
Tarih: 23 Kasım 2024 Saat 04:40 Program Versiyonu: Web Wiz Forums 11.10 - http://www.webwizforums.com
Konu: yürüyen cari bakiye
Mesajı Yazan: hkarahan
Konu: yürüyen cari bakiye
Mesaj Tarihi: 17 Haziran 2015 Saat 12:47
carinin hareket dökümünde bakiyesini yürüyen bakiye olarak sql den nasyl sorgularym
|
Cevaplar:
Mesajı Yazan: mbaykan
Mesaj Tarihi: 17 Haziran 2015 Saat 14:31
SQL Server versiyonunuz nedir?
2008 ve a?a?ysy ise
DECLARE @EKSTRE TABLE (INCKEYNO int, BORC DECIMAL(28,8),ALACAK DECIMAL(28,8),BAKIYE DECIMAL(28,8),SIRA INT IDENTITY)
DECLARE @BAKIYE DECIMAL(28,8)
SET @BAKIYE = 0
INSERT INTO @EKSTRE SELECT INC_KEY_NUMBER, ROUND(BORC,2), ROUND(ALACAK,2), (@BAKIYE + ROUND(BORC - ALACAK,2)) FROM TBLCAHAR WHERE CARI_KOD='120-01-234' ORDER BY TARIH,INC_KEY_NUMBER
UPDATE @EKSTRE SET BAKIYE = @BAKIYE ,@BAKIYE=@BAKIYE+BAKIYE FROM @EKSTRE
SELECT SIRA,CONVERT(VARCHAR(10),A.TARIH,104) TARIH,HAREKET_TURU HT, CONVERT(VARCHAR(10),VADE_TARIHI,104) VADE_TARIHI,ACIKLAMA,B.BORC,B.ALACAK,B.BAKIYE FROM TBLCAHAR A JOIN @EKSTRE B ON A.INC_KEY_NUMBER=B.INCKEYNO ORDER BY SIRA
2012 ve yukarysy ise SELECT TARIH,HAREKET_TURU HT,VADE_TARIHI,ACIKLAMA,BORC,ALACAK, SUM(BORC - ALACAK) OVER (PARTITION BY CARI_KOD ORDER BY TARIH,INC_KEY_NUMBER ROWS UNBOUNDED PRECEDING) BAKIYE
FROM TBLCAHAR WHERE CARI_KOD='120-01-234' ORDER BY TARIH,INC_KEY_NUMBER
------------- Mehmet Baykan
|
Mesajı Yazan: hkarahan
Mesaj Tarihi: 18 Haziran 2015 Saat 10:00
SQL versiyonu 2008
amacym extendde cari hareketleri getirmek bunun için a?a?ydaki sorguyu kullanyyorum ama bu sorguya yürüyen bakiyeyi ekleyemedim. Buraya ekleyebilir miyiz?
SELECT CARI_KOD, TARIH,VADE_TARIHI,BORC,ALACAK,INC_KEY_NUMBER FROM CAHAR WHERE CARI_KOD IN (SELECT CARI_KOD FROM TBLCASABIT WHERE (CM_ALACT-CM_BORCT) > 0) AND VADE_TARIHI < '2015-05-28' ORDER BY CARI_KOD,VADE_TARIHI
|
Mesajı Yazan: mbaykan
Mesaj Tarihi: 18 Haziran 2015 Saat 11:04
siz soruyu SQL'de nasyl yaparym diye sordu?unuz için yanytym ona göre. Extend ise Excel'de formül yazarsynyz olmaz my?
------------- Mehmet Baykan
|
Mesajı Yazan: hkarahan
Mesaj Tarihi: 18 Haziran 2015 Saat 11:34
ödeme listesi olu?turmaya çaly?ty?ym için vade tarihi ve bakiyede kysyt vermem gerekiyor. bu nedenle sqlde yapmaya çaly?yyorum. excelde yürüyen bakiyeyi yaptym fakat kysyt vermede sorun oluyor. a?a?ydaki cümle ile çaly?tyrdym. ?imdilik sorun görünmüyor. :) Te?ekkürler
select A.CARI_KOD,A.TARIH,A.ACIKLAMA,A.VADE_TARIHI,A.BORC,A.ALACAK, (SELECT SUM(ALACAK)-SUM(BORC) FROM TBLCAHAR WHERE VADE_TARIHI <= A.VADE_TARIHI AND CARI_KOD = A.CARI_KOD) FROM TBLCAHAR AS A WHERE CARI_KOD IN (SELECT CARI_KOD FROM TBLCASABIT WHERE (CM_ALACT-CM_BORCT) > 0) ORDER BY A.CARI_KOD,A.VADE_TARIHI, A.INC_KEY_NUMBER
|
Mesajı Yazan: mbaykan
Mesaj Tarihi: 18 Haziran 2015 Saat 14:08
extrenizi vade tarihi syraly alyp bakiye'yi buna göre görecekseniz hareket'lerin syrasy de?i?ece?i için yürüyen bakiyeler de ona göre de?i?ir. i?lem tarihine göre syraly listede yürüyen bakiye ona göre de?i?ir üstteki liste i?lem tarihi syraly, alttaki liste ise vade tarihi syraly. siz (CM_ALACT-CM_BORCT) > 0 ko?ulu ile son durum'a bakyp alacakly cariyi seçiyorsunuz.
------------- Mehmet Baykan
|
Mesajı Yazan: Conari
Mesaj Tarihi: 18 Haziran 2015 Saat 14:59
Ne zamandyr saldyry var siteye nerede bu adminler..
------------- Netsisden vazgeçemiyorum. Beni engelliyor..
|
Mesajı Yazan: sessizkule
Mesaj Tarihi: 29 Ağustos 2016 Saat 13:21
Merhabalar,
Yürüyen Cari Bakiyeyi SELECT TARIH,HAREKET_TURU HT,VADE_TARIHI,ACIKLAMA,BORC,ALACAK,SUM(BORC - ALACAK) OVER (PARTITION BY CARI_KOD ORDER BY TARIH,INC_KEY_NUMBER ROWS UNBOUNDED PRECEDING) BAKIYE FROM TBLCAHAR WHERE CARI_KOD IN (SELECT CARI_KOD FROM TBLCASABIT WHERE RAPOR_KODU2 = 'ODAK') ORDER BY TARIH,INC_KEY_NUMBER"
seklinde rapor kodu 'odak' olan carilerin hareketlerini almak istedigimde, cari kodu her degistiginde yürüyen bakiye o anki cari kodun bakiyesini verdiginden yanlis aliyor. Acaba nasil bir yol izleyebilirim.
|
Mesajı Yazan: mbaykan
Mesaj Tarihi: 29 Ağustos 2016 Saat 15:31
sessizkule Yazdı:
Merhabalar,
Yürüyen Cari Bakiyeyi SELECT TARIH,HAREKET_TURU HT,VADE_TARIHI,ACIKLAMA,BORC,ALACAK,SUM(BORC - ALACAK) OVER (PARTITION BY CARI_KOD ORDER BY TARIH,INC_KEY_NUMBER ROWS UNBOUNDED PRECEDING) BAKIYE FROM TBLCAHAR WHERE CARI_KOD IN (SELECT CARI_KOD FROM TBLCASABIT WHERE RAPOR_KODU2 = 'ODAK') ORDER BY TARIH,INC_KEY_NUMBER"
seklinde rapor kodu 'odak' olan carilerin hareketlerini almak istedigimde, cari kodu her degistiginde yürüyen bakiye o anki cari kodun bakiyesini verdiginden yanlis aliyor. Acaba nasil bir yol izleyebilirim. |
yukarida bold yaptigim keyword bundan sorumlu. Ayrica bakiye zaten tek cari'nin hareketleri için olmali degilmi. A kodlu carinin hareketini (bakiyesini) B'ye neden katmak gerekir ki???
ama siz ODAK rapor kodlu carilerin hepsini degerlendirmek istiyorsaniz. PARTITION BY CARI_KOD yazisini kaldirin. ORDER BY 'da aynen kalsin
------------- Mehmet Baykan
|
Mesajı Yazan: sessizkule
Mesaj Tarihi: 29 Ağustos 2016 Saat 17:10
Sayin M.Baykan, Ayni Cari olupta farki cari kodu ile tuttugumuz cariler var, bir ara proje kodu ile bunlari tutuyorduk sonradan proje kodunu da iptal edince böyle ayriliklara düstük. Kod Tam olarak çalisti emeginize saglik. Iyi çalismalar.
|
Mesajı Yazan: SadiSerdari
Mesaj Tarihi: 04 Eylül 2016 Saat 20:59
Sayin mybaykan; yazmis oldugunuz
DECLARE @EKSTRE TABLE (INCKEYNO int, BORC DECIMAL(28,8),ALACAK DECIMAL(28,8),BAKIYE DECIMAL(28,8),SIRA INT IDENTITY)
DECLARE @BAKIYE DECIMAL(28,8)
SET @BAKIYE = 0
INSERT INTO @EKSTRE SELECT INC_KEY_NUMBER, ROUND(BORC,2), ROUND(ALACAK,2), (@BAKIYE + ROUND(BORC - ALACAK,2)) FROM TBLCAHAR WHERE CARI_KOD='120-01-234' ORDER BY TARIH,INC_KEY_NUMBER
UPDATE @EKSTRE SET BAKIYE = @BAKIYE ,@BAKIYE=@BAKIYE+BAKIYE FROM @EKSTRE
SELECT SIRA,CONVERT(VARCHAR(10),A.TARIH,104) TARIH,HAREKET_TURU HT, CONVERT(VARCHAR(10),VADE_TARIHI,104) VADE_TARIHI,ACIKLAMA,B.BORC,B.ALACAK,B.BAKIYE FROM TBLCAHAR A JOIN @EKSTRE B ON A.INC_KEY_NUMBER=B.INCKEYNO ORDER BY SIRA
|
kodu excelde nasil kullanabilirim. Sql kod olarak tanimlayip denedim ancak baglanti hatasi döndürdü. Bu konuda yardimlarinizi bekliyorum. Tesekkürler. Not:SQL 2005 kullaniyorum
|
Mesajı Yazan: mbaykan
Mesaj Tarihi: 05 Eylül 2016 Saat 12:25
ASAGIDAKI sorguda ilave 2 sütun daha var SIRA ve CARI_KOD excel'e dis veri al ile SQL'den alin (cari unvan'i sütun çogalmasin diye almadim)
WITH CH AS (SELECT ROW_NUMBER() OVER (PARTITION BY CARI_KOD ORDER BY CARI_KOD,TARIH,INC_KEY_NUMBER) AS SIRA,CARI_KOD,TARIH, HAREKET_TURU HT,VADE_TARIHI,ACIKLAMA,BORC,ALACAK FROM TBLCAHAR) SELECT A.*,sum(B.BORC - B.ALACAK) BAKIYE FROM CH A INNER JOIN CH B ON A.CARI_KOD=B.CARI_KOD AND A.SIRA>=B.SIRA GROUP BY A.CARI_KOD,A.SIRA,A.TARIH,A.HT,A.VADE_TARIHI,A.ACIKLAMA,A.BORC,A.ALACAK
------------- Mehmet Baykan
|
|