Mehmet Sait
Altın Üye
- Katılım
- 19 Ekim 2009
- Mesajlar
- 840
- Excel Vers. ve Dili
- Office 2016 TR
- Altın Üyelik Bitiş Tarihi
- 08-09-2028
Hasan Bey,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],
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