SQL Sorgu Cari Hesap Son Hareket Tarihi ve Son Bakiye

Murat OSMA

Yönetici
Site Yöneticisi
Katılım
25 May 2018
Mesajlar
1,247
En iyi yanıt
9
Puanları
113
Konum
İstanbul
Web sitesi
excelarsivi.com
Ad Soyad
Murat OSMA
Logo'da Cari Hesap Son Hareket Tarihi ve Son Bakiye raporu için bu sorguyu kullanabilirsiniz.

SQL:
SELECT  
    LG_888_CLCARD.CODE AS [CARİ KODU],
    LG_888_CLCARD.DEFINITION_ AS [CARİ ÜNVANI],
    ROUND(SUM((CASE LG_888_01_CLFLINE.TRCURR WHEN 0 THEN (TRNET-(SIGN*TRNET))-(SIGN*TRNET) ELSE 0 END)),2) AS [BAKİYE (TL)],    
    ROUND(SUM((CASE LG_888_01_CLFLINE.TRCURR WHEN 1 THEN (TRNET-(SIGN*TRNET))-(SIGN*TRNET) ELSE 0 END)),2) AS [BAKİYE (USD)],
    ROUND(SUM((CASE LG_888_01_CLFLINE.TRCURR WHEN 20 THEN (TRNET-(SIGN*TRNET))-(SIGN*TRNET) ELSE 0 END)),2) AS [BAKİYE (EUR)],
    (SELECT TOP 1 DATE_ FROM LG_888_01_STLINE WHERE TRCODE IN (7,8) AND CLIENTREF=LG_888_CLCARD.LOGICALREF ORDER BY DATE_ DESC) AS [SON SATIS TARIHI],
    (SELECT TOP 1 DATE_ FROM LG_888_01_CLFLINE WHERE TRCODE IN (1) AND CLIENTREF=LG_888_CLCARD.LOGICALREF ORDER BY DATE_ DESC) AS [SON ÖDEME TARIHI]
FROM  LG_888_01_CLFLINE INNER JOIN LG_888_CLCARD ON LG_888_01_CLFLINE.CLIENTREF = LG_888_CLCARD.LOGICALREF
WHERE CODE LIKE 'MST%'
GROUP BY LG_888_CLCARD.CODE, LG_888_CLCARD.DEFINITION_,LG_888_CLCARD.LOGICALREF
ORDER BY LG_888_CLCARD.CODE


Sonuç Tablo

carihesapsonhareket-min.png
 
Son düzenleme:

Arkadasca

Yeni Üye
Katılım
20 Haz 2018
Mesajlar
91
En iyi yanıt
0
Puanları
8
Yaş
48
Konum
İstanbul
Ad Soyad
Huzeyfe Yaman
Paylaşım için teşekkürler...

Bu sorgu bütün carileri döküyor. CLFLINE tablosunda NULL olanlar gelmesin,

Yani,

Sadece hareketi olanlar gelsin.

Bu şekilde düzeltir misiniz?
 

Vedat ÖZER

Logo Uzmanı
Geliştirici
Katılım
4 Haz 2018
Mesajlar
245
En iyi yanıt
4
Puanları
43
Yaş
30
Konum
Antalya / Merkez
Ad Soyad
Vedat ÖZER
Selamlar,

Carilere göre Where kısmına istemiş olduğunuz carilere verebilir siniz. Sorguda asıl istenen zaten Son ödeme ve satış tarihlerini analiz etmek.
 

Arkadasca

Yeni Üye
Katılım
20 Haz 2018
Mesajlar
91
En iyi yanıt
0
Puanları
8
Yaş
48
Konum
İstanbul
Ad Soyad
Huzeyfe Yaman
Vedat Bey merhaba,

İlginiz için teşekkür ederim.

Peki son olarak son alış tarihi kısmında NULL olan kayıtlar var. Bunlar açılış fişinden geliyor.

Sorguya (14) Açılış işlemi ilave edilebilir mi?
 

Vedat ÖZER

Logo Uzmanı
Geliştirici
Katılım
4 Haz 2018
Mesajlar
245
En iyi yanıt
4
Puanları
43
Yaş
30
Konum
Antalya / Merkez
Ad Soyad
Vedat ÖZER
Selamlar,

Aşağıdaki şekilde değiştirin.
SQL:
SELECT   
    LG_006_CLCARD.CODE AS [CARİ KODU],
    LG_006_CLCARD.DEFINITION_ AS [CARİ ÜNVANI],
    ROUND(SUM((CASE LG_006_01_CLFLINE.TRCURR WHEN 0 THEN (TRNET-(SIGN*TRNET))-(SIGN*TRNET) ELSE 0 END)),2) AS [BAKİYE (TL)],     
    ROUND(SUM((CASE LG_006_01_CLFLINE.TRCURR WHEN 1 THEN (TRNET-(SIGN*TRNET))-(SIGN*TRNET) ELSE 0 END)),2) AS [BAKİYE (USD)],
    ROUND(SUM((CASE LG_006_01_CLFLINE.TRCURR WHEN 20 THEN (TRNET-(SIGN*TRNET))-(SIGN*TRNET) ELSE 0 END)),2) AS [BAKİYE (EUR)],
    (SELECT TOP 1 DATE_ FROM LG_006_01_STLINE WHERE TRCODE IN (7,8) AND CLIENTREF=LG_006_CLCARD.LOGICALREF ORDER BY DATE_ DESC) AS [SON SATIS TARIHI],
     (SELECT TOP 1 DATE_ FROM LG_006_01_STLINE WHERE TRCODE IN (1,14) AND CLIENTREF=LG_006_CLCARD.LOGICALREF  and STFICHEREF<>0 ORDER BY DATE_ DESC) AS [SON ALIŞ TARIHI],
    (SELECT TOP 1 DATE_ FROM LG_006_01_CLFLINE WHERE TRCODE IN (1) AND CLIENTREF=LG_006_CLCARD.LOGICALREF ORDER BY DATE_ DESC) AS [SON ÖDEME TARIHI]
FROM  LG_006_01_CLFLINE INNER JOIN LG_006_CLCARD ON LG_006_01_CLFLINE.CLIENTREF = LG_006_CLCARD.LOGICALREF
WHERE CODE LIKE '%' AND LG_006_01_CLFLINE.CLIENTREF>0
GROUP BY LG_006_CLCARD.CODE, LG_006_CLCARD.DEFINITION_,LG_006_CLCARD.LOGICALREF
ORDER BY LG_006_CLCARD.CODE
 

Arkadasca

Yeni Üye
Katılım
20 Haz 2018
Mesajlar
91
En iyi yanıt
0
Puanları
8
Yaş
48
Konum
İstanbul
Ad Soyad
Huzeyfe Yaman
Rabbim razı olsun Vedat Bey, Hakkınızı helal ediniz.
 

tughan

Yeni Üye
Katılım
20 Tem 2019
Mesajlar
5
En iyi yanıt
0
Puanları
1
Yaş
32
Konum
Ankara
Ad Soyad
Tuğhan Avcı
Merhaba, sorgu tamamen boş olarak dönüyor, neden olabilir acaba? Go Plus 2.12 kullanıyorum.
 

tughan

Yeni Üye
Katılım
20 Tem 2019
Mesajlar
5
En iyi yanıt
0
Puanları
1
Yaş
32
Konum
Ankara
Ad Soyad
Tuğhan Avcı
Merhaba, sorgu tamamen boş olarak dönüyor, neden olabilir acaba? Go Plus 2.12 kullanıyorum.
Tamamdır Where sorgusunu kaldırınca düzeldi fakat sorgu sanırım sadece nakit tahsilatları kapsıyor. Çek-senet alınmış carilerin son ödemesini göstermiyor. Onu nasıl ekleyebiliriz?
 

Vedat ÖZER

Logo Uzmanı
Geliştirici
Katılım
4 Haz 2018
Mesajlar
245
En iyi yanıt
4
Puanları
43
Yaş
30
Konum
Antalya / Merkez
Ad Soyad
Vedat ÖZER
Merhaba,

Sorgu ilgili Carilerin bakiyesi bilgisini vermesi gerekmektedir. Çek-Senet ile ilgili bilgisi eklemek için CSCARD ve CSTRANS yardımı ile getirebilir siniz.
 

stargate67

İsimsiz
Katılım
27 Şub 2020
Mesajlar
59
En iyi yanıt
0
Puanları
6
Yaş
46
Konum
istanbul
Ad Soyad
Mustafa Ülgen
Logo'da Cari Hesap Son Hareket Tarihi ve Son Bakiye raporu için bu sorguyu kullanabilirsiniz.

SQL:
SELECT 
    LG_888_CLCARD.CODE AS [CARİ KODU],
    LG_888_CLCARD.DEFINITION_ AS [CARİ ÜNVANI],
    ROUND(SUM((CASE LG_888_01_CLFLINE.TRCURR WHEN 0 THEN (TRNET-(SIGN*TRNET))-(SIGN*TRNET) ELSE 0 END)),2) AS [BAKİYE (TL)],   
    ROUND(SUM((CASE LG_888_01_CLFLINE.TRCURR WHEN 1 THEN (TRNET-(SIGN*TRNET))-(SIGN*TRNET) ELSE 0 END)),2) AS [BAKİYE (USD)],
    ROUND(SUM((CASE LG_888_01_CLFLINE.TRCURR WHEN 20 THEN (TRNET-(SIGN*TRNET))-(SIGN*TRNET) ELSE 0 END)),2) AS [BAKİYE (EUR)],
    (SELECT TOP 1 DATE_ FROM LG_888_01_STLINE WHERE TRCODE IN (7,8) AND CLIENTREF=LG_888_CLCARD.LOGICALREF ORDER BY DATE_ DESC) AS [SON SATIS TARIHI],
    (SELECT TOP 1 DATE_ FROM LG_888_01_CLFLINE WHERE TRCODE IN (1) AND CLIENTREF=LG_888_CLCARD.LOGICALREF ORDER BY DATE_ DESC) AS [SON ÖDEME TARIHI]
FROM  LG_888_01_CLFLINE INNER JOIN LG_888_CLCARD ON LG_888_01_CLFLINE.CLIENTREF = LG_888_CLCARD.LOGICALREF
WHERE CODE LIKE 'MST%'
GROUP BY LG_888_CLCARD.CODE, LG_888_CLCARD.DEFINITION_,LG_888_CLCARD.LOGICALREF
ORDER BY LG_888_CLCARD.CODE


Sonuç Tablo

Ekli dosyayı görüntüle 392
BİZDE BOŞ ÇIKIYOR
 

Vedat ÖZER

Logo Uzmanı
Geliştirici
Katılım
4 Haz 2018
Mesajlar
245
En iyi yanıt
4
Puanları
43
Yaş
30
Konum
Antalya / Merkez
Ad Soyad
Vedat ÖZER
Merhaba,

Kodda parametre var kaldırıp deneyebilir siniz.

SQL:
WHERE CODE LIKE 'MST%'
 
Üst Alt