Arama butonu
Bu konudaki kullanıcılar: 1 misafir, 1 mobil kullanıcı
13
Cevap
1016
Tıklama
0
Öne Çıkarma
SQL Bakiye Alma
M
10 yıl
Çavuş
Konu Sahibi

Merhaba Arkadaşlar,

SQL'de bakiye almak istiyorum fakat sorgumu çalıştırdığımda aşağıda ki gibi bir hata alıyorum. Hatayı nasıl kapatabilirim.

Sorgum;

SELECT
[ID],
[DATE_],
[Cari Kodu],
[Müşteri Ünvanı],
[Adres1],
[Adres2],
[Vergi No],
[Vergi Dairesi],
[İşlem Tarihi],
[İşlem No],
[İşlem Türü],
[Borç],
[Alacak],
[BAKIYE]=(SELECT Sum(G.[DEBIT] - G.[CREDIT]) OVER (ORDER BY G.[DATE_], G.[LOGICALREF]) FROM LV_001_01_CLEKSTRE G INNER JOIN LG_001_CLCARD CL ON CL.LOGICALREF=G.CLIENTREF GROUP BY G.[LOGICALREF])


FROM
(
SELECT
[ID]=CLEKSTRE.LOGICALREF,
[DATE_]=CLEKSTRE.DATE_,
[Cari Kodu]=CLCARD.CODE,
[Müşteri Ünvanı]=CLCARD.DEFINITION_,
[Adres1]=CLCARD.ADDR1,
[Adres2]=CLCARD.ADDR2,
[Vergi No]=CLCARD.TAXNR,
[Vergi Dairesi]=CLCARD.TAXOFFICE,
[İşlem Tarihi]=CLEKSTRE.DATE_,
[İşlem No]=CLEKSTRE.TRANNO,
[İşlem Türü]=CASE WHEN CLEKSTRE.TRCODE=31 AND CLEKSTRE.MODULENR=4 THEN 'Satınalma Faturası'
WHEN CLEKSTRE.TRCODE=34 AND CLEKSTRE.MODULENR=4 THEN 'Alınan Hizmet Faturası'
WHEN CLEKSTRE.TRCODE=36 AND CLEKSTRE.MODULENR=4 THEN 'Satınalma İade Faturası'
WHEN CLEKSTRE.TRCODE=43 AND CLEKSTRE.MODULENR=4 THEN 'Satınalma Fiyat Farkı Faturası'
WHEN CLEKSTRE.TRCODE=56 AND CLEKSTRE.MODULENR=4 THEN 'Müstahsil Makbuzu'
WHEN CLEKSTRE.TRCODE=38 AND CLEKSTRE.MODULENR=4 THEN 'Toptan Satış Faturası'
WHEN CLEKSTRE.TRCODE=37 AND CLEKSTRE.MODULENR=4 THEN 'Perakende Satış Faturası'
WHEN CLEKSTRE.TRCODE=32 AND CLEKSTRE.MODULENR=4 THEN 'Perakende Satış İade Faturası'
WHEN CLEKSTRE.TRCODE=33 AND CLEKSTRE.MODULENR=4 THEN 'Toptan Satış İade Faturası'
WHEN CLEKSTRE.TRCODE=39 AND CLEKSTRE.MODULENR=4 THEN 'Verilen Hizmet Faturası'
WHEN CLEKSTRE.TRCODE=44 AND CLEKSTRE.MODULENR=4 THEN 'Satış Fiyat Farkı Faturası'
WHEN CLEKSTRE.TRCODE=1 AND CLEKSTRE.MODULENR=5 THEN 'Nakit Tahsilat'
WHEN CLEKSTRE.TRCODE=2 AND CLEKSTRE.MODULENR=5 THEN 'Nakit Ödeme'
WHEN CLEKSTRE.TRCODE=3 AND CLEKSTRE.MODULENR=5 THEN 'Borç Dekontu'
WHEN CLEKSTRE.TRCODE=4 AND CLEKSTRE.MODULENR=5 THEN 'Alacak Dekontu'
WHEN CLEKSTRE.TRCODE=5 AND CLEKSTRE.MODULENR=5 THEN 'Virman Fişi'
WHEN CLEKSTRE.TRCODE=14 AND CLEKSTRE.MODULENR=5 THEN 'Açılış Fişi'
WHEN CLEKSTRE.TRCODE=41 AND CLEKSTRE.MODULENR=4 THEN 'Verilen Vade Farkı Faturası'
WHEN CLEKSTRE.TRCODE=42 AND CLEKSTRE.MODULENR=4 THEN 'Alınan Vade Farkı Faturası'
WHEN CLEKSTRE.TRCODE=45 AND CLEKSTRE.MODULENR=5 THEN 'Verilen Serbest Meslek Makbuzu'
WHEN CLEKSTRE.TRCODE=46 AND CLEKSTRE.MODULENR=5 THEN 'Alınan Serbest Meslek Makbuzu'
WHEN CLEKSTRE.TRCODE=70 AND CLEKSTRE.MODULENR=5 THEN 'Kredi Kart Fişi'
WHEN CLEKSTRE.TRCODE=71 AND CLEKSTRE.MODULENR=5 THEN 'Kredi Kart İade Fişi'
WHEN CLEKSTRE.TRCODE=72 AND CLEKSTRE.MODULENR=5 THEN 'Firma Kredi Kart Fişi'
WHEN CLEKSTRE.TRCODE=73 AND CLEKSTRE.MODULENR=5 THEN 'Firma Kredi Kart İade Fişi'
WHEN CLEKSTRE.TRCODE=61 AND CLEKSTRE.MODULENR=6 THEN 'Çek Girişi'
WHEN CLEKSTRE.TRCODE=62 AND CLEKSTRE.MODULENR=6 THEN 'Senet Girişi'
WHEN CLEKSTRE.TRCODE=63 AND CLEKSTRE.MODULENR=6 THEN 'Çek Çıkış'
WHEN CLEKSTRE.TRCODE=64 AND CLEKSTRE.MODULENR=6 THEN 'Senet Çıkış'
WHEN CLEKSTRE.TRCODE=3 AND CLEKSTRE.MODULENR=61 THEN 'Müşteriye İade Edilen Çek'
WHEN CLEKSTRE.TRCODE=1 AND CLEKSTRE.MODULENR=10 THEN 'Kasa Nakit Tahsilat'
WHEN CLEKSTRE.TRCODE=2 AND CLEKSTRE.MODULENR=10 THEN 'Kasa Nakit Ödeme'
WHEN CLEKSTRE.TRCODE=20 AND CLEKSTRE.MODULENR=7 THEN 'Gelen Havale'
WHEN CLEKSTRE.TRCODE=21 AND CLEKSTRE.MODULENR=7 THEN 'Gönderilen Havale'
WHEN CLEKSTRE.TRCODE=81 AND CLEKSTRE.MODULENR=3 THEN 'Alınan Sipariş'
WHEN CLEKSTRE.TRCODE=82 AND CLEKSTRE.MODULENR=3 THEN 'Verilen Sipariş' ELSE 'BOŞ' END,
[Borç]=CLEKSTRE.DEBIT,
[Alacak]=CLEKSTRE.CREDIT
--[BAKIYE]=(SELECT Sum(G.[DEBIT] - G.[CREDIT]) OVER (ORDER BY G.[DATE_], G.[LOGICALREF]) FROM LV_001_01_CLEKSTRE G LEFT JOIN LG_001_CLCARD CL ON CL.LOGICALREF=G.CLIENTREF)



FROM
LV_001_01_CLEKSTRE CLEKSTRE
LEFT OUTER JOIN LG_001_CLCARD CLCARD ON CLCARD.LOGICALREF=CLEKSTRE.CLIENTREF)TEMP GROUP BY [ID],[DATE_],[Cari Kodu],[Müşteri Ünvanı],[Adres1],[Adres2],
[Vergi No],[Vergi Dairesi],[İşlem Tarihi],[İşlem No],[İşlem Türü],[Borç],[Alacak]

--SELECT * FROM LV_001_01_CLEKSTRE

--SELECT Sum([DEBIT] - [CREDIT]) OVER (ORDER BY [DATE_], [LOGICALREF]) AS [BAKIYE] FROM LV_001_01_CLEKSTRE
--(SELECT Sum([DEBIT]) - SUM([CREDIT]) OVER (ORDER BY [DATE_], [LOGICALREF]) AS [BAKIYE] FROM LV_001_01_CLEKSTRE WHERE CLIENTREF=CLCARD.LOGICALREF)



Aldığım Hata:

[BAKIYE]=(SELECT Sum(G.[DEBIT] - G.[CREDIT]) OVER (ORDER BY G.[DATE_], G.[LOGICALREF]) FROM LV_001_01_CLEKSTRE G INNER JOIN LG_001_CLCARD CL ON CL.LOGICALREF=G.CLIENTREF GROUP BY G.[LOGICALREF])

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil



H
10 yıl
Yüzbaşı

[İşlem Tarihi],
[İşlem No],
[İşlem Türü],
[Borç],
[Alacak],
--------------- Bu kısımdan sonrası içim

(SELECT Sum(G.[DEBIT] - G.[CREDIT]) OVER (ORDER BY G.[DATE_], G.[LOGICALREF]) FROM LV_001_01_CLEKSTRE G INNER JOIN lg_001_CLCARD CL ON CL.LOGICALREF=G.CLIENTREF GROUP BY G.[LOGICALREF]) As BAKIYE

şeklinde denermisin





< Bu mesaj bu kişi tarafından değiştirildi Hakan5434 -- 8 Ekim 2015; 10:35:13 >
Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @maxcoder7
M
10 yıl
Çavuş
Konu Sahibi

Malesef olmadı.




Bu mesajda bahsedilenler: @Hakan5434
H
10 yıl
Yüzbaşı

LG_001_CLCARD AS CL

LG_001_CLCARD =>Tablo olduğu düşünerek


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @maxcoder7
M
10 yıl
Çavuş
Konu Sahibi

Aynı hatayı aldım.




Bu mesajda bahsedilenler: @Hakan5434
H
10 yıl
Yüzbaşı

son yazdığım durum diğer tablolar içinde geçerli onlarada uyguladın mı.
ayrıca sql cümlesinin kedisi nasıl hata mesajı oluyor kısmı anlayamadım. varsa ki hata var diyorsun daha farklı bir hata mesajı dönmeli.


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @maxcoder7
M
10 yıl
Çavuş
Konu Sahibi

Dediğiniz gibi uyguladım Msg 8120, Level 16, State 1, Line 15
Column 'LV_001_01_CLEKSTRE.DATE_' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause. hatasını alıyorum.


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @Hakan5434
H
10 yıl
Yüzbaşı

quote:

Orijinalden alıntı: maxcoder7

Dediğiniz gibi uyguladım Msg 8120, Level 16, State 1, Line 15
Column 'LV_001_01_CLEKSTRE.DATE_' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause. hatasını alıyorum.

'LV_001_01_CLEKSTRE.DATE_ kolonunu group by a eklemeni istiyor. ve benzer şekilde başka kolonlar içinde isterse yap.




Bu mesajda bahsedilenler: @maxcoder7
T
10 yıl
Binbaşı

Select ten sonra yazdığın herşeyi group by da yazıp dener misin id gibi



< Bu ileti mobil sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.
M
10 yıl
Çavuş
Konu Sahibi

quote:

Orijinalden alıntı: teornek

Select ten sonra yazdığın herşeyi group by da yazıp dener misin id gibi

Merhaba, denedim malesef yine olmadı.


Bu mesaja 1 cevap geldi.
M
10 yıl
Çavuş
Konu Sahibi

BAKIYE=(SELECT Sum(G.[DEBIT]) - SUM(G.[CREDIT]) OVER (ORDER BY G.[LOGICALREF], G.[DATE_]) FROM LV_001_01_CLEKSTRE G INNER JOIN LG_001_CLCARD CL ON CL.LOGICALREF=G.CLIENTREF where G.LOGICALREF=CL.LOGICALREF GROUP BY G.[DEBIT],G.[CREDIT],CL.[LOGICALREF],G.DATE_ ,G.LOGICALREF)

< Resime gitmek için tıklayın >

Bakiyeler NULL olarak gözükmeye başladı.



T
10 yıl
Binbaşı

üstat sanıyorum bu logo programından. logo destek diye bir forum sitesi var orda sql bölümü var üye ol siteye oraya yaz %90 çözerler problemi



< Bu ileti mobil sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.
M
10 yıl
Çavuş
Konu Sahibi

quote:

Orijinalden alıntı: teornek

üstat sanıyorum bu logo programından. logo destek diye bir forum sitesi var orda sql bölümü var üye ol siteye oraya yaz %90 çözerler problemi

Aynen öyle. :) Üye oluyorum hemen.


Bu mesaja 1 cevap geldi.
T
10 yıl
Binbaşı

quote:

Orijinalden alıntı: maxcoder7

quote:

Orijinalden alıntı: teornek

üstat sanıyorum bu logo programından. logo destek diye bir forum sitesi var orda sql bölümü var üye ol siteye oraya yaz %90 çözerler problemi

Aynen öyle. :) Üye oluyorum hemen.

Ben çok şey öğrendim orda eminim sizde öğrenirsiniz



< Bu ileti mobil sürüm kullanılarak atıldı >

DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.