SQL veri sorgusu

Mehmet Sait

Altın Üye
Katılım
19 Ekim 2009
Mesajlar
834
Excel Vers. ve Dili
Office 2016 TR
Altın Üyelik Bitiş Tarihi
08-09-2028
Benim eklediğim sorgu sadece aşşağıdaki gibidir. Eğer diğer sorgu yanlış ise gene hata verir bunuda unutma Bilgi paylaşarak güzel olur. en azından birşeyler verebildiysek ne mutlu bize
CASE
WHEN A.KSMAS_KOD ='00' THEN 'TL KASA'
WHEN A.KSMAS_KOD ='01' THEN 'USD KASA'
WHEN A.KSMAS_KOD ='02' THEN 'EURO KASA'
WHEN A.KSMAS_KOD ='POS' THEN 'POS KASA'
END AS [A.KSMAS_KOD],
Hasan Bey,

Uğraş ve zahmetinize tekrar teşekkür ederim. Elbette bilgi paylaşarak güzel olur. Deneyimlerinizi esirgemediğinizden dolayı ayrıca teşekkür ederim.

Onca uğraş ve cabadan sonra istediğim tablonun bir kısmını alabiliyorum artık. Sadece kaln tek sorun bu mantığı kullanrak

burada kullanılan " - " yerine " * " kullanabilirmiyiz ?

ve ELSE 0 END))< 0 THEN mantığını çözemedim hala

(CASE WHEN (SUM(CASE WHEN io='G' THEN A.doviztut ELSE 0 END) - SUM(CASE WHEN io='C' THEN A.doviztut ELSE 0 END))< 0 THEN (SUM(CASE WHEN io='G' THEN A.doviztut ELSE 0 END)-SUM(CASE WHEN io='C' THEN A.doviztut ELSE 0 END))ELSE 0 END)

Gelir döviz tutarı ile kur hesaplanmalı aynı şekilde gider döviz ile kur hesaplanarak kalan döviz tutarını bulabilirim sanıyorum.





Formülün son hali aşağıdadır.

SELECT
A.KSMAS_KOD,b.ksmas_name,B.KSSONDEV_T,B.KSSONDEV_DOVIZ,
(CASE WHEN (SUM(CASE WHEN io='G' THEN A.doviztut ELSE 0 END)-SUM(CASE WHEN io='C' THEN A.doviztut ELSE 0 END))< 0 THEN (SUM(CASE WHEN io='G' THEN A.doviztut ELSE 0 END)-SUM(CASE WHEN io='C' THEN A.doviztut ELSE 0 END))ELSE 0 END) doviz_miktar,
(CASE WHEN (SUM(CASE WHEN io='g' THEN A.TUTAR ELSE 0 END)-SUM(CASE WHEN io='c' THEN A.TUTAR ELSE 0 END)) > 0 THEN (SUM(CASE WHEN io='g' THEN A.TUTAR ELSE 0 END)-SUM(CASE WHEN io='c' THEN A.TUTAR ELSE 0 END))ELSE 0 END) BAKIYE,
(CASE WHEN (SUM(CASE WHEN io='g' THEN A.DOVIZTUT ELSE 0 END)*SUM(CASE WHEN io='C' THEN A.KUR ELSE 0 END)) > 0 THEN (SUM(CASE WHEN io='g' THEN A.DOVIZTUT ELSE 0 END)*SUM(CASE WHEN io='C' THEN A.KUR ELSE 0 END))ELSE 0 END) GDOVIZTUT,
(CASE WHEN (SUM(CASE WHEN io='C' THEN A.DOVIZTUT ELSE 0 END)*SUM(CASE WHEN io='C' THEN A.KUR ELSE 0 END)) > 0 THEN (SUM(CASE WHEN io='C' THEN A.DOVIZTUT ELSE 0 END)*SUM(CASE WHEN io='C' THEN A.KUR ELSE 0 END))ELSE 0 END) CDOVIZTUT
FROM
TBLKASA A JOIN TBLKASAMAS B ON (A.ksmas_kod=B.ksmas_kod)
WHERE
TARIH BETWEEN '2012-01-01' AND '2012-12-31'
GROUP BY
A.KSMAS_KOD,b.ksmas_name,B.KSSONDEV_T,B.KSSONDEV_DOVIZ
 
Katılım
13 Aralık 2007
Mesajlar
96
Excel Vers. ve Dili
excel 2002
Cevaben

burada kullanılan " - " yerine " * " kullanabilirmiyiz ? Tabiki kullanılır sonuç olarak hasan-Dunya vereceği yerde hasan*dunya verir

ve ELSE 0 END))< 0 THEN mantığını çözemedim hala bunun amacı şöyle söyleyim Borç- alacak kısmı borç 1.000 TL alacak 500.00 TL kalan bakiye Borç bakiyesi 500.00 TL o sorgudada Borç alanına yazması için borcun alacaktan büyük olması gerekiyor ve ELSE 0 END))< 0 THEN burdaki kriterde 2 sorguyu karşılaştırıyor ondan kaynakli Alanlara Eksi (-) bakiye yazamıyacağı için eğer sonuç Sıfırdan (0 ) küçükse Sen Alacak kısmına yaz demek istiyor
 

Mehmet Sait

Altın Üye
Katılım
19 Ekim 2009
Mesajlar
834
Excel Vers. ve Dili
Office 2016 TR
Altın Üyelik Bitiş Tarihi
08-09-2028
burada kullanılan " - " yerine " * " kullanabilirmiyiz ? Tabiki kullanılır sonuç olarak hasan-Dunya vereceği yerde hasan*dunya verir

ve ELSE 0 END))< 0 THEN mantığını çözemedim hala bunun amacı şöyle söyleyim Borç- alacak kısmı borç 1.000 TL alacak 500.00 TL kalan bakiye Borç bakiyesi 500.00 TL o sorgudada Borç alanına yazması için borcun alacaktan büyük olması gerekiyor ve ELSE 0 END))< 0 THEN burdaki kriterde 2 sorguyu karşılaştırıyor ondan kaynakli Alanlara Eksi (-) bakiye yazamıyacağı için eğer sonuç Sıfırdan (0 ) küçükse Sen Alacak kısmına yaz demek istiyor
Biraz daha uğraşacağım. Tüm emeğinize teşekkür ederim.
 

Mehmet Sait

Altın Üye
Katılım
19 Ekim 2009
Mesajlar
834
Excel Vers. ve Dili
Office 2016 TR
Altın Üyelik Bitiş Tarihi
08-09-2028
SELECT
A.KSMAS_KOD,b.ksmas_name,B.KSSONDEV_T,B.KSSONDEV_D OVIZ,
(CASE WHEN (SUM(CASE WHEN io='G' THEN A.doviztut ELSE 0 END)-SUM(CASE WHEN io='C' THEN A.doviztut ELSE 0 END))< 0 THEN (SUM(CASE WHEN io='G' THEN A.doviztut ELSE 0 END)-SUM(CASE WHEN io='C' THEN A.doviztut ELSE 0 END))ELSE 0 END) doviz_miktar,
(CASE WHEN (SUM(CASE WHEN io='g' THEN A.TUTAR ELSE 0 END)-SUM(CASE WHEN io='c' THEN A.TUTAR ELSE 0 END)) > 0 THEN (SUM(CASE WHEN io='g' THEN A.TUTAR ELSE 0 END)-SUM(CASE WHEN io='c' THEN A.TUTAR ELSE 0 END))ELSE 0 END) BAKIYE,
FROM
TBLKASA A JOIN TBLKASAMAS B ON (A.ksmas_kod=B.ksmas_kod)
WHERE
TARIH BETWEEN '2012-01-01' AND '2012-12-31'
GROUP BY
A.KSMAS_KOD,b.ksmas_name,B.KSSONDEV_T,B.KSSONDEV_DOVIZ

kırmızı formülde bakiyeyi hesaplatırken B.KSSONDEV_T ile topla demek için ne yapmalıyız ?
 
Katılım
13 Aralık 2007
Mesajlar
96
Excel Vers. ve Dili
excel 2002
SELECT
A.KSMAS_KOD,b.ksmas_name,B.KSSONDEV_T,B.KSSONDEV_D OVIZ,
(CASE WHEN (SUM(CASE WHEN io='G' THEN A.doviztut ELSE 0 END)-SUM(CASE WHEN io='C' THEN A.doviztut ELSE 0 END))< 0 THEN (SUM(CASE WHEN io='G' THEN A.doviztut ELSE 0 END)-SUM(CASE WHEN io='C' THEN A.doviztut ELSE 0 END))ELSE 0 END) doviz_miktar,
(CASE WHEN (SUM(CASE WHEN io='g' THEN A.TUTAR ELSE 0 END)-SUM(CASE WHEN io='c' THEN A.TUTAR ELSE 0 END)) > 0 THEN (SUM(CASE WHEN io='g' THEN A.TUTAR ELSE 0 END)-SUM(CASE WHEN io='c' THEN A.TUTAR ELSE 0 END))ELSE 0 END) BAKIYE,
FROM
TBLKASA A JOIN TBLKASAMAS B ON (A.ksmas_kod=B.ksmas_kod)
WHERE
TARIH BETWEEN '2012-01-01' AND '2012-12-31'
GROUP BY
A.KSMAS_KOD,b.ksmas_name,B.KSSONDEV_T,B.KSSONDEV_DOVIZ

kırmızı formülde bakiyeyi hesaplatırken B.KSSONDEV_T ile topla demek için ne yapmalıyız ?
Kırmızı renkli olan Sana Bakiye Alanında Rakamları Veriyor Senin İstediğin Bakiye+ B.KSSONDEV_T istiyorsan
SUM (B.KSSONDEV_T) SUM (CASE WHEN (SUM(CASE WHEN io='g' THEN A.TUTAR ELSE 0 END)-SUM(CASE WHEN io='c' THEN A.TUTAR ELSE 0 END)) > 0 THEN (SUM(CASE WHEN io='g' THEN A.TUTAR ELSE 0 END)-SUM(CASE WHEN io='c' THEN A.TUTAR ELSE 0 END))ELSE 0 END) BAKIYE, [/COLOR][/B]
Bu şekilde yaparsan toplar
 

Mehmet Sait

Altın Üye
Katılım
19 Ekim 2009
Mesajlar
834
Excel Vers. ve Dili
Office 2016 TR
Altın Üyelik Bitiş Tarihi
08-09-2028
Kırmızı renkli olan Sana Bakiye Alanında Rakamları Veriyor Senin İstediğin Bakiye+ B.KSSONDEV_T istiyorsan
SUM (B.KSSONDEV_T) SUM (CASE WHEN (SUM(CASE WHEN io='g' THEN A.TUTAR ELSE 0 END)-SUM(CASE WHEN io='c' THEN A.TUTAR ELSE 0 END)) > 0 THEN (SUM(CASE WHEN io='g' THEN A.TUTAR ELSE 0 END)-SUM(CASE WHEN io='c' THEN A.TUTAR ELSE 0 END))ELSE 0 END) BAKIYE, [/COLOR][/B]
Bu şekilde yaparsan toplar
Hasan Bey,

Incorrect syntax near the keyword 'CASE'.

hatası veriyor
 
Katılım
13 Aralık 2007
Mesajlar
96
Excel Vers. ve Dili
excel 2002
Hasan Bey,

Incorrect syntax near the keyword 'CASE'.

hatası veriyor
SUM (B.KSSONDEV_T) SUM (CASE WHEN (SUM(CASE WHEN io='g' THEN A.TUTAR ELSE 0 END)-SUM(CASE WHEN io='c' THEN A.TUTAR ELSE 0 END)) > 0 THEN (SUM(CASE WHEN io='g' THEN A.TUTAR ELSE 0 END)-SUM(CASE WHEN io='c' THEN A.TUTAR ELSE 0 END))ELSE 0 END) BAKIYE,


Kopyala yapıştır yaptığım için sonundaki renk de çıkmış o olmuyacak
[/color][/b]
 

Mehmet Sait

Altın Üye
Katılım
19 Ekim 2009
Mesajlar
834
Excel Vers. ve Dili
Office 2016 TR
Altın Üyelik Bitiş Tarihi
08-09-2028
SUM (B.KSSONDEV_T) SUM (CASE WHEN (SUM(CASE WHEN io='g' THEN A.TUTAR ELSE 0 END)-SUM(CASE WHEN io='c' THEN A.TUTAR ELSE 0 END)) > 0 THEN (SUM(CASE WHEN io='g' THEN A.TUTAR ELSE 0 END)-SUM(CASE WHEN io='c' THEN A.TUTAR ELSE 0 END))ELSE 0 END) BAKIYE,


Kopyala yapıştır yaptığım için sonundaki renk de çıkmış o olmuyacak
[/color][/b]


SELECT
A.KSMAS_KOD,b.ksmas_name,B.KSSONDEV_T,B.KSSONDEV_DOVIZ,
(CASE WHEN (SUM(CASE WHEN io='G' THEN A.doviztut ELSE 0 END)-SUM(CASE WHEN io='C' THEN A.doviztut ELSE 0 END))> 0 THEN (SUM(CASE WHEN io='G' THEN A.doviztut ELSE 0 END)-SUM(CASE WHEN io='C' THEN A.doviztut ELSE 0 END))ELSE 0 END) doviz_miktar,
SUM (B.KSSONDEV_T) SUM (CASE WHEN (SUM(CASE WHEN io='g' THEN A.TUTAR ELSE 0 END)-SUM(CASE WHEN io='c' THEN A.TUTAR ELSE 0 END)) > 0 THEN (SUM(CASE WHEN io='g' THEN A.TUTAR ELSE 0 END)-SUM(CASE WHEN io='c' THEN A.TUTAR ELSE 0 END))ELSE 0 END) BAKIYE,
FROM
TBLKASA A JOIN TBLKASAMAS B ON (A.ksmas_kod=B.ksmas_kod)
WHERE
TARIH BETWEEN '2012-01-01' AND '2012-12-31'
GROUP BY
A.KSMAS_KOD,b.ksmas_name,B.KSSONDEV_T,B.KSSONDEV_DOVIZ

hata yine aynı

Msg 156, Level 15, State 1, Line 4
Incorrect syntax near the keyword 'CASE'.
 

Mehmet Sait

Altın Üye
Katılım
19 Ekim 2009
Mesajlar
834
Excel Vers. ve Dili
Office 2016 TR
Altın Üyelik Bitiş Tarihi
08-09-2028
Netsis SQL den aşağıdaki kodlar doğrultusunda veriyi excele alabiliyorum. Ancak çek numarası başındaki " 000000000000023 " sıfırların gelmemesi için ne yapmam gerek ?

Kullandığım Kod :

SELECT
A.SC_NO,
A.VADETRH,
B.CARI_ISIM,
A.TUTAR
FROM
TBLBCEK A JOIN TBLCASABIT B ON (A.SC_VERILENK=B.CARI_KOD)
WHERE
GRUP_KODU='DIGER' AND SC_SONDUR='B' AND SC_YERI='C'
ORDER BY
A.VADETRH ASC
 

Ekli dosyalar

Zeki Gürsoy

Uzman
Uzman
Katılım
31 Aralık 2005
Mesajlar
4,344
Excel Vers. ve Dili
Office 365 (64 bit) - Türkçe
Bunu deneyin..

Kod:
Cast(A.SC_NO As Bigint) As [Çek No]
 

Mehmet Sait

Altın Üye
Katılım
19 Ekim 2009
Mesajlar
834
Excel Vers. ve Dili
Office 2016 TR
Altın Üyelik Bitiş Tarihi
08-09-2028
Bunu deneyin..

Kod:
Cast(A.SC_NO As Bigint) As [Çek No]
Hocam,

Öncelikle teşekkür ederim

verdiğiniz kodu nereye yazayım ?

SELECT
A.SC_NO,
A.VADETRH,
B.CARI_ISIM,
A.TUTAR
FROM
TBLBCEK A JOIN TBLCASABIT B ON (A.SC_VERILENK=B.CARI_KOD)
WHERE
GRUP_KODU='DIGER' AND SC_SONDUR='B' AND SC_YERI='C'
ORDER BY
A.VADETRH ASC
 

Zeki Gürsoy

Uzman
Uzman
Katılım
31 Aralık 2005
Mesajlar
4,344
Excel Vers. ve Dili
Office 365 (64 bit) - Türkçe
Kod:
SELECT
 Cast(A.SC_NO As Bigint) As [Çek No],
 A.VADETRH,
 B.CARI_ISIM,
 A.TUTAR
FROM
 TBLBCEK A JOIN TBLCASABIT B ON (A.SC_VERILENK = B.CARI_KOD)
WHERE
 GRUP_KODU='DIGER' AND SC_SONDUR='B' AND SC_YERI='C'
ORDER BY
 A.VADETRH ASC
 

Mehmet Sait

Altın Üye
Katılım
19 Ekim 2009
Mesajlar
834
Excel Vers. ve Dili
Office 2016 TR
Altın Üyelik Bitiş Tarihi
08-09-2028
Kod:
SELECT
 Cast(A.SC_NO As Bigint) As [Çek No],
 A.VADETRH,
 B.CARI_ISIM,
 A.TUTAR
FROM
 TBLBCEK A JOIN TBLCASABIT B ON (A.SC_VERILENK = B.CARI_KOD)
WHERE
 GRUP_KODU='DIGER' AND SC_SONDUR='B' AND SC_YERI='C'
ORDER BY
 A.VADETRH ASC
hocam,
İstediğim gibi geliyor artık. Çok teşekkür ederim
 

Mehmet Sait

Altın Üye
Katılım
19 Ekim 2009
Mesajlar
834
Excel Vers. ve Dili
Office 2016 TR
Altın Üyelik Bitiş Tarihi
08-09-2028
Merhabalar,

Netsis SQL den Excele veri alımında bozuk gelen türkçe karakter sorununu nasıl çözebilirim ?
 

Mehmet Sait

Altın Üye
Katılım
19 Ekim 2009
Mesajlar
834
Excel Vers. ve Dili
Office 2016 TR
Altın Üyelik Bitiş Tarihi
08-09-2028
Merhabalar,


Aşağıdaki kodla verilen borç çekleri listeliyorum ancak iki sutun daha eklemek istiyorum.

Verilenin TİP1 olarak Çek ve TİP2 olarakta borç çeki olduğunu belirtmesi açısından aşağıdaki 2 sutunu nasıl ekleyebilirim ?

1. TİP1 içerisine sabit olarak Ç
ve
2. TİP2 içerisine sabit olarak B



SELECT
Cast(A.SC_NO As Bigint) As [Çek No],
A.VADETRH,
B.CARI_ISIM,
A.TUTAR
FROM
TBLBCEK A JOIN TBLCASABIT B ON (A.SC_VERILENK = B.CARI_KOD)
WHERE
GRUP_KODU='DIGER' AND SC_SONDUR='B' AND SC_YERI='C'
ORDER BY
A.VADETRH ASC
 
Üst