SQL stok aybasi ve aysonu bakiyeleri
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=2965
Tarih: 22 Ağustos 2025 Saat 19:20 Program Versiyonu: Web Wiz Forums 11.10 - http://www.webwizforums.com
Konu: SQL stok aybasi ve aysonu bakiyeleri
Mesajı Yazan: jung
Konu: SQL stok aybasi ve aysonu bakiyeleri
Mesaj Tarihi: 06 Şubat 2012 Saat 16:08
merhaba arkadaslar, her ayin açilis stogu ve kapanis stogunun oldugu bir view yapmam lazim. bir türlü ayni viewde her bir ayi gösterme mantigini çözemedim.
|
Cevaplar:
Mesajı Yazan: mbaykan
Mesaj Tarihi: 06 Şubat 2012 Saat 16:47
tek view'da 12 ay gösterilecek mi? Tutarlar var mi? Subat sonu bakiye = Mart basi devir 'dir kolonlar tekrar mi edecek? ya da ay bilgisi verilip; bu (verilen) ay'a devreden stok, dönem için Giren-çikan ve sonraki aya devreden (yani ay sonu stok) kolonlari mi olacak
------------- Mehmet Baykan
|
Mesajı Yazan: jung
Mesaj Tarihi: 06 Şubat 2012 Saat 17:31
mümkünse tek viewde ve tutarsiz olacak. kolonlarda stok_kodu,stok_adi,ay, aybasi miktar, aysonu kapanis miktari olacak.
|
Mesajı Yazan: mbaykan
Mesaj Tarihi: 07 Şubat 2012 Saat 23:14
- 2011 yili yerine istediginiz yili yazip çalistirin.
- View'a çevirdiginizde ORDER BY satiri iptal edilmeli
- 1 ocak tarihli devir hareketleri Ocak basi stogunu yanlis gösterebilir, o sorunu da asmak mümkün...
WITH TRH AS (SELECT CONVERT(DATETIME,'2011-' + CONVERT(VARCHAR(2),AY.MNTH) + '-1') BASLA,
DATEADD(d,-1,DATEADD(m,1,CONVERT(DATETIME,'2011-' + CONVERT(VARCHAR(2),AY.MNTH) + '-1'))) SON
FROM
(SELECT 1 MNTH
UNION SELECT 2
UNION SELECT 3
UNION SELECT 4
UNION SELECT 5
UNION SELECT 6
UNION SELECT 7
UNION SELECT 8
UNION SELECT 9
UNION SELECT 10
UNION SELECT 11
UNION SELECT 12 ) AY)
SELECT A.STOK_KODU,B.STOK_ADI,CONVERT(VARCHAR(7),BASLA,102) DONEM,SUM(CASE WHEN STHAR_TARIH >= TRH.BASLA THEN 0 ELSE
CASE WHEN STHAR_GCKOD='G' THEN STHAR_GCMIK ELSE -STHAR_GCMIK END END) AYBASI_STK,
SUM(CASE WHEN STHAR_GCKOD='G' THEN STHAR_GCMIK ELSE -STHAR_GCMIK END) AYSONU_STK
FROM TBLSTHAR A,TRH,TBLSTSABIT B
WHERE A.STOK_KODU=B.STOK_KODU AND STHAR_TARIH<= TRH.SON
GROUP BY A.STOK_KODU,B.STOK_ADI,CONVERT(VARCHAR(7),BASLA,102)
ORDER BY A.STOK_KODU,DONEM
------------- Mehmet Baykan
|
Mesajı Yazan: jung
Mesaj Tarihi: 08 Şubat 2012 Saat 09:32
çok tesekkür ederim . söylediginiz gibi 1 ocak tarihli devir hareketleri Ocak basi stogunu hep sifir gösteriyor. bunun için nasil bir çözüm öneririsiniz?
|
Mesajı Yazan: mbaykan
Mesaj Tarihi: 08 Şubat 2012 Saat 12:45
WITH AYLAR (AY) AS (SELECT 1 UNION ALL SELECT AY + 1 FROM AYLAR WHERE AY < 12 ), TRH (BASLA, SON) AS (SELECT CONVERT(DATETIME,'2011-' + CONVERT(VARCHAR(2),AY) + '-1') BASLA, DATEADD(d,-1,DATEADD(m,1,CONVERT(DATETIME,'2011-' + CONVERT(VARCHAR(2),AY) + '-1'))) SON FROM AYLAR), STOKHAR AS ( SELECT * FROM (SELECT STOK_KODU,STHAR_TARIH,STHAR_GCKOD,STHAR_GCMIK FROM TBLSTHAR WHERE NOT (STHAR_HTUR='A' AND MONTH(STHAR_TARIH)=1 AND DAY(STHAR_TARIH)=1) UNION ALL SELECT STOK_KODU,DATEADD(d,-1,STHAR_TARIH),STHAR_GCKOD,STHAR_GCMIK FROM TBLSTHAR WHERE STHAR_HTUR='A' AND MONTH(STHAR_TARIH)=1 AND DAY(STHAR_TARIH)=1 ) SS )
SELECT A.STOK_KODU,B.STOK_ADI,CONVERT(VARCHAR(7),BASLA,102) DONEM,SUM(CASE WHEN STHAR_TARIH >= TRH.BASLA THEN 0 ELSE CASE WHEN STHAR_GCKOD='G' THEN STHAR_GCMIK ELSE -STHAR_GCMIK END END) AYBASI_STK, SUM(CASE WHEN STHAR_GCKOD='G' THEN STHAR_GCMIK ELSE -STHAR_GCMIK END) AYSONU_STK FROM STOKHAR A,TRH,TBLSTSABIT B WHERE A.STOK_KODU=B.STOK_KODU AND STHAR_TARIH<= TRH.SON GROUP BY A.STOK_KODU,B.STOK_ADI,CONVERT(VARCHAR(7),BASLA,102) ORDER BY A.STOK_KODU,DONEM
------------- Mehmet Baykan
|
Mesajı Yazan: jung
Mesaj Tarihi: 05 Haziran 2012 Saat 17:05
merhaba arkadaslar sabah tan öglene kadar dogru çalisan asagidaki view ögleden sonra sadece ocak ayini göstermeye basladi. sorun nerede veya nedendir? WITH TRH AS (SELECT CONVERT(DATETIME, '2012-' + CONVERT(VARCHAR(2), MNTH) + '-1') AS BASLA, DATEADD(d, - 1, DATEADD(m, 1, CONVERT(DATETIME, '2012-' + CONVERT(VARCHAR(2), MNTH) + '-1'))) AS SON FROM (SELECT 1 AS MNTH UNION SELECT 2 AS Expr1 UNION SELECT 3 AS Expr1 UNION SELECT 4 AS Expr1 UNION SELECT 5 AS Expr1 UNION SELECT 6 AS Expr1 UNION SELECT 7 AS Expr1 UNION SELECT 8 AS Expr1 UNION SELECT 9 AS Expr1 UNION SELECT 10 AS Expr1 UNION SELECT 11 AS Expr1 UNION SELECT 12 AS Expr1) AS AY) SELECT TOP (100) PERCENT A.STOK_KODU, B.STOK_ADI, CONVERT(VARCHAR(7), TRH_1.BASLA, 102) AS DONEM, SUM(CASE WHEN STHAR_TARIH >= TRH_1.BASLA THEN 0 ELSE CASE WHEN STHAR_GCKOD = 'G' THEN STHAR_GCMIK ELSE - STHAR_GCMIK END END) AS AYBASI_STK, SUM(CASE WHEN STHAR_GCKOD = 'G' THEN STHAR_GCMIK ELSE - STHAR_GCMIK END) AS AYSONU_STK, MONTH(TRH_1.BASLA) AS AY FROM dbo.TBLSTHAR AS A INNER JOIN dbo.TBLSTSABIT AS B ON A.STOK_KODU = B.STOK_KODU INNER JOIN TRH AS TRH_1 ON A.STHAR_TARIH <= TRH_1.SON GROUP BY A.STOK_KODU, B.STOK_ADI, CONVERT(VARCHAR(7), TRH_1.BASLA, 102), A.DEPO_KODU, MONTH(TRH_1.BASLA) HAVING (A.DEPO_KODU = 10) AND (MONTH(TRH_1.BASLA) <= MONTH(GETDATE())) ORDER BY A.STOK_KODU, DONEM
|
Mesajı Yazan: jung
Mesaj Tarihi: 07 Haziran 2012 Saat 10:47
sql servera baglanirken windows authentication modunda baglaninca bu sorun olustu. Sql server authentication modunda sa sifresi ile girince normale döndü :) ama bugüne kadar hep windows authentication ile oturum açiyordum sorun olmuyordu.
|
Mesajı Yazan: bybarone
Mesaj Tarihi: 07 Haziran 2012 Saat 11:03
eger view'i sa ile olusturdu iseniz ondan yapabilir...
------------- Iyi çalismalar.
Barancan GENÇ
barancan.genc@hotmail.com
|
Mesajı Yazan: jung
Mesaj Tarihi: 07 Haziran 2012 Saat 11:04
bilgilendirmeniz için tesekkür ederim.
|
|