Forum
Merhaba Arkadaşlar, şöyle bir tablom var,
Kodu | Tarih | Kasa Açıklaması | Borç | Alacak | Bakiye |
120.00196 | 18.03.2015 | GELEN HAVALE | 0,00 | 3.000,00 | 3.000,00 |
120.00307 | 09.12.2014 | DEVİR | 1.500,00 | 0,00 | 1.500,00 |
120.00307 | 08.01.2015 | KARGODA MEYD.GELN. | 0,00 | 1.500,00 | 3.000,00 |
120.00307 | 31.01.2015 | FATURA | 88,50 | 0,00 | 2.911,50 |
120.00307 | 06.03.2015 | KAPORA KUVEYT TÜRK K... | 0,00 | 600,00 | 3.511,50 |
120.00307 | 06.03.2015 | FATURA | 15.000,01 | 0,00 | -11.488,51 |
120.00307 | 10.03.2015 | GELEN HAVALE | 0,00 | 2.400,00 | -9.088,51 |
120.00349 | 09.12.2014 | DEVİR | 894,32 | 0,00 | -9.982,83 |
120.00350 | 09.12.2014 | DEVİR | 5.523,60 | 0,00 | -15.506,43 |
120.00481 | 09.12.2014 | DEVİR | 135,00 | 0,00 | -15.641,43 |
120.00506 | 09.12.2014 | DEVİR | 621,00 | 0,00 | -16.262,43 |
120.00506 | 13.01.2015 | YKB-VAD.ÇEK GİRİŞİ | 0,00 | 5.000,00 | -11.262,43 |
120.00506 | 13.01.2015 | YKB-VAD.ÇEK GİRİŞİ | 0,00 | 5.000,00 | -6.262,43 |
120.00506 | 14.01.2015 | TAHSİLAT | 0,00 | 500,00 | -5.762,43 |
Kodu | Tarih | Kasa Açıklaması | Borç | Alacak | Bakiye |
120.00307 | 09.12.2014 | DEVİR | 1.500,00 | 0,00 | 1.500,00 |
120.00307 | 08.01.2015 | KARGODA MEYD.GELN. | 0,00 | 1.500,00 | 3.000,00 |
120.00307 | 31.01.2015 | FATURA | 88,50 | 0,00 | 2.911,50 |
120.00307 | 06.03.2015 | KAPORA KUVEYT TÜRK K... |
0,00 | 600,00 | 3.511,50 |
120.00307 | 06.03.2015 | FATURA | 15.000,01 | 0,00 | -11.488,51 |
120.00307 | 10.03.2015 | GELEN HAVALE | 0,00 | 2.400,00 | -9.088,51 |
bakiye kısmını genel olarak gösteriyor. Ben bir firmayı seçtiğimde sadece o firmaya ait bakiye kısmını görmek istiyorum.
Sorgum şu şekilde acaba nerede yanlış yaptım. Şimdiden yardımlarınız için teşekkürler. Saygılarımla,
WITH CTE AS(SELECT [#msg_S_0200] AS Kodu, msg_S_0089 AS Tarih, [#msg_S_0093] AS [Belge No], msg_S_0094, msg_S_0003 AS Türü, msg_S_0115 AS [Cari/Hizmet Adı], [#msg_S_0085] AS [Kasa Açıklaması],
msg_S_0113 AS [Karşı Car.Hes.Adı], [msg_S_0101\T] AS Borç, [msg_S_0102\T] AS Alacak, msg_S_0090, msg_S_0091
FROM dbo.fn_CariFoy(N'0', 0, N'', NULL, '20121231', '20140101', '20201231', 0, N'') AS fn_CariFoy_1
GROUP BY [#msg_S_0200], msg_S_0089, [#msg_S_0093], msg_S_0003, msg_S_0115, [#msg_S_0085], msg_S_0113, [msg_S_0101\T], [msg_S_0102\T], msg_S_0094, msg_S_0090,
msg_S_0091/* msg_S_0091*/ ), CTE2 AS
(SELECT Tarih, Kodu, [Belge No], msg_S_0094, Türü, [Cari/Hizmet Adı], [Kasa Açıklaması], [Karşı Car.Hes.Adı], Borç, Alacak, RN = ROW_NUMBER() OVER (ORDER BY Kodu, Tarih, msg_S_0094,
msg_S_0090, msg_S_0091)
FROM CTE)
SELECT Kodu, Tarih, [Kasa Açıklaması], Borç, Alacak, Bakiye =
(SELECT SUM(ISNULL(Alacak, 0)) - SUM(ISNULL(Borç, 0))
FROM CTE2
WHERE RN <= t .RN)
FROM CTE2 t
Merhaba
En alttaki Select kısmında borç ve alacak ı kaldırın sadece bakiye gelsin
Merhaba Yavuz bey sizin dediğiniz şekilde yaptım ancak değişen sadece borç ve alacak kısmını göstermiyor. Bakiye kısmı yine aynı gösteriyor. Yani aslında anlatmak istediğim şu; yukarıdaki 1.tablom tüm carilerin kayıtlarını gösteriyor. Ben bir cariyi süzdüğümde borç ve alacak kısımları doğru görünüyor ama bakiye kısmında diğer kayıtları da toplayıp çıkardığı için doğru sonuç vermiyor örnek 2.tablo Yukarıdaki sorguya bakiye kısmını o seçtiğim cari ile ilişkili olması gerekiyor diye düşünüyorum ama nasıl? Teşekkürler.
İlgili cari kodunu seçince, tüm bakiyeleri toplansın mı istiyorsunuz?
Evet ilgili carinin cari hareketlerini toplasın veya çıkarsın. Ama sadece ilgili carinin
O zaman sadece, kodu ve bakiye alanlarını alın, bakiyeyi, SUM(bakiye) olarak select içerisine yazın.
Kodu kısmınıda GROUP by a ekleyin, sadece tek satır cari kodu gelecek ve bakiyeyi toplayacaktır
Teşekkür ederim. Örnek sorguyu yazabilir misiniz? Ben hata yapıyorum galiba olmuyor. Teşekkürler. Saygılarımla,
O zaman sadece, kodu ve bakiye alanlarını alın, bakiyeyi, SUM(bakiye) olarak select içerisine yazın.
Kodu kısmınıda GROUP by a ekleyin, sadece tek satır cari kodu gelecek ve bakiyeyi toplayacaktır
Teşekkür ederim. Örnek sorguyu yazabilir misiniz? Ben hata yapıyorum galiba olmuyor. Teşekkürler. Saygılarımla,
Teşekkür ederim.Farklı bir şekilde çözdüm.
O zaman sadece, kodu ve bakiye alanlarını alın, bakiyeyi, SUM(bakiye) olarak select içerisine yazın.
Kodu kısmınıda GROUP by a ekleyin, sadece tek satır cari kodu gelecek ve bakiyeyi toplayacaktır
Teşekkür ederim. Örnek sorguyu yazabilir misiniz? Ben hata yapıyorum galiba olmuyor. Teşekkürler. Saygılarımla,
Teşekkür ederim.Farklı bir şekilde çözdüm.
Levent bey nasıl çözdünüz, geri dönüş yaparsanız belki ihtiyacı olan arkadaşlar için örnek olmuş olur
Çözülmüş halinin sorgusu ayrıca bu sorguda farklı alanlarda var
SELECT TOP (100) PERCENT fn_CariFoy_1.[#msg_S_0200] AS No, fn_CariFoy_1.[#msg_S_0201] AS FirmaAdı, fn_CariFoy_1.msg_S_0089 AS İşlemTarihi,
fn_CariFoy_1.[#msg_S_0092] AS [Tarih Vade], dbo.CARI_HAREKET_ODEME_VADELERI.cop_vade AS [Tarih Finans], fn_CariFoy_1.[#msg_S_0085] AS Açıklama,
fn_CariFoy_1.msg_S_0112 AS Döviz, fn_CariFoy_1.[msg_S_0101\T] AS YTLBorç, fn_CariFoy_1.[msg_S_0102\T] AS YTLAlacak,
CAST(fn_CariFoy_1.[#msg_S_0092] - dbo.CARI_HAREKET_ODEME_VADELERI.cop_vade AS FLOAT) AS FinGün,
dbo.CARI_HESAPLAR.cari_vade_fark_yuz AS [Finans %], fn_CariFoy_1.msg_S_0088 AS Id
FROM dbo.fn_CariFoy(N'0', 0, N'', NULL, '20141231', '20150101', '20151231', 0, N'') AS fn_CariFoy_1 LEFT OUTER JOIN
dbo.CARI_HESAPLAR ON fn_CariFoy_1.[#msg_S_0200] = dbo.CARI_HESAPLAR.cari_kod LEFT OUTER JOIN
dbo.CARI_HAREKET_ODEME_VADELERI ON fn_CariFoy_1.[msg_S_0101\T] = dbo.CARI_HAREKET_ODEME_VADELERI.cop_tutar
ORDER BY Id, No