SQL'de yapmak istediğim rapor

Gönderen Konu: SQL'de yapmak istediğim rapor  (Okunma sayısı 5634 defa)

0 Üye ve 3 Ziyaretçi konuyu incelemekte.

Çevrimdışı teornek

  • Logo Kullanıcısı
  • **
  • Karma: 0
  • Bir yerden başlamak gerekir
Ynt: SQL'de yapmak istediğim rapor
« Yanıtla #60 : 06.02.2015, 10:45 »
abilerim yeni bir soru ile daha karşınızdayım acaba yeni bir kolona işlem dövizini yazırmam mümkün mü?ben yaptığımda bütün kişiler için hem dolar hem euro hem tl geliyor ben sadece dolar satışında dolar tl de tl istiyorum yani bir kolon daha ekleyip paraların yanında para birimi olacak..

kodun son hali=
SELECT CL.CODE as Kodu,
CL.DEFINITION_ as Acıklama,
Date_ as Tarih,
Onceki_bakiye =
(SELECT SUM(CASE WHEN IC_CLFLINE.SIGN=0 THEN AMOUNT ELSE AMOUNT*-1 END)
FROM LG_050_02_CLFLINE IC_CLFLINE
WHERE CLFLINE.CLIENTREF=IC_CLFLINE.CLIENTREF
AND IC_CLFLINE.DATE_<CLFLINE.DATE_ AND IC_CLFLINE.CANCELLED=0),
TL=SUM(CASE CLFLINE.TRCURR WHEN 0 THEN (TRNET-(SIGN*TRNET))-(SIGN*TRNET) ELSE 0 END) ,
USD=SUM(CASE CLFLINE.TRCURR WHEN 1 THEN (TRNET-(SIGN*TRNET))-(SIGN*TRNET) ELSE 0 END) ,
EURO=SUM(CASE CLFLINE.TRCURR WHEN 20 THEN (TRNET-(SIGN*TRNET))-(SIGN*TRNET) ELSE 0 END),
Satis_Faturasi=SUM(Case When CLFLINE.MODULENR=4 AND  CLFLINE.TRCODE IN(37,38)  THEN AMOUNT ELSE 0 END),
Tahsilat=SUM(Case When TRCODE =1 THEN AMOUNT ELSE 0 END),
Son_Bakiye=
(SELECT SUM(CASE WHEN IC_CLFLINE.SIGN=0 THEN AMOUNT ELSE AMOUNT*-1 END)
FROM LG_050_02_CLFLINE IC_CLFLINE
WHERE CLFLINE.CLIENTREF=IC_CLFLINE.CLIENTREF
AND IC_CLFLINE.DATE_<CLFLINE.DATE_
AND IC_CLFLINE.CANCELLED=0)+ SUM(Case When CLFLINE.SIGN=0 THEN AMOUNT ELSE 0 END)- SUM(CASE WHEN CLFLINE.SIGN=1 THEN AMOUNT ELSE 0 END)
FROM LG_050_CLCARD CL LEFT JOIN LG_050_02_CLFLINE CLFLINE ON CL.LOGICALREF=CLFLINE.CLIENTREF
WHERE DATE_ = '2015.01.08'
AND CL.CODE LIKE 'MST%'
GROUP BY CLFLINE.CLIENTREF,CODE,DEFINITION_,DATE_
ORDER BY USD DESC,EURO DESC,TL DESC

Çevrimdışı teornek

  • Logo Kullanıcısı
  • **
  • Karma: 0
  • Bir yerden başlamak gerekir
Ynt: SQL'de yapmak istediğim rapor
« Yanıtla #61 : 06.02.2015, 11:21 »
L_TRADGRP G İLE GCODE alıyorum ama her cari için dolar euro tl çıkarıyor..tl için de dolar euro tl,euro içinde dolar euro tl aynı şekil dolar içinde ben dolar için dolar,euro için euro,tl için tl istiyorum acaba nasıl sınırlandırmam gerekiyor

Çevrimdışı MehmetYavuz

  • Logo Sistem Administrator
  • Logo Uzmanı
  • *****
  • Karma: 3
Ynt: SQL'de yapmak istediğim rapor
« Yanıtla #62 : 06.02.2015, 11:47 »
orda ticari işlem grupları tutuluyor. genelde döviz türü için kullanılmaz. sorgundaki bağlantın nasıl?

Çevrimdışı teornek

  • Logo Kullanıcısı
  • **
  • Karma: 0
  • Bir yerden başlamak gerekir
Ynt: SQL'de yapmak istediğim rapor
« Yanıtla #63 : 06.02.2015, 11:53 »
ekran görüntüsü aldım hocam böyle çıkıyor

Çevrimdışı ByBirol®

  • Logo Sistem Administrator
  • Logo Uzmanı
  • *****
  • Karma: 18
  • admin@artibilisim.com Logo Çözüm Ortağı
Ynt: SQL'de yapmak istediğim rapor
« Yanıtla #64 : 06.02.2015, 13:15 »
Parasal işlemleri iç içe case ile tek satırda yaz sonra yanına ya + 'TL' gibi kullan yana para birimini  yine iç içe case ile ayrı kilona Çek

Çevrimdışı hezarpare

  • LOGO Bayi
  • Logo Kullanıcısı Pro
  • *****
  • Karma: 0
Ynt: SQL'de yapmak istediğim rapor
« Yanıtla #65 : 06.02.2015, 13:53 »
peki bu sorgu devirleri alacak mı? Devir olanların tarihi null dönecektir. Where de tarih verince de onu baz almayacak

Çevrimdışı teornek

  • Logo Kullanıcısı
  • **
  • Karma: 0
  • Bir yerden başlamak gerekir
Ynt: SQL'de yapmak istediğim rapor
« Yanıtla #66 : 06.02.2015, 13:56 »
hocam bana sadece para birimi gelsin istiyorum zaten yukarda kolonda euro dolar tl diye ayırdık sadece ben paranın yanında da yukardan aşağıya paranın yanında döviz birimi diye kolon açıp orada sıralı bir şekilde  birimlerin de yazmasını istiyorum

Çevrimdışı ByBirol®

  • Logo Sistem Administrator
  • Logo Uzmanı
  • *****
  • Karma: 18
  • admin@artibilisim.com Logo Çözüm Ortağı
Ynt: SQL'de yapmak istediğim rapor
« Yanıtla #67 : 06.02.2015, 13:58 »
Case trcurr when 0 then 'tl' when 1 then 'USD' when 20 then 'euro' else 'diğer' end as parabirimi

Çevrimdışı teornek

  • Logo Kullanıcısı
  • **
  • Karma: 0
  • Bir yerden başlamak gerekir
Ynt: SQL'de yapmak istediğim rapor
« Yanıtla #68 : 06.02.2015, 14:16 »
hata alıyorum üstad

Çevrimdışı ByBirol®

  • Logo Sistem Administrator
  • Logo Uzmanı
  • *****
  • Karma: 18
  • admin@artibilisim.com Logo Çözüm Ortağı
Ynt: SQL'de yapmak istediğim rapor
« Yanıtla #69 : 06.02.2015, 14:18 »
Otobüste ve telden yazdım , aliaslarla yaz yani clf.trcurr

Çevrimdışı teornek

  • Logo Kullanıcısı
  • **
  • Karma: 0
  • Bir yerden başlamak gerekir
Ynt: SQL'de yapmak istediğim rapor
« Yanıtla #70 : 06.02.2015, 14:20 »
öyle yazdım ama bir daha tekrardan deneyim hocam ve bu arada gerçekten çok teşekkür ederim vakit ayırdığınız için sizin nezlinde herkese

Çevrimdışı teornek

  • Logo Kullanıcısı
  • **
  • Karma: 0
  • Bir yerden başlamak gerekir
Ynt: SQL'de yapmak istediğim rapor
« Yanıtla #71 : 06.02.2015, 17:12 »
adım adım sonuca gidiyoruz ama hep bi eksik çıkıyor anlamadım gitti..mesela adamın 1000 tl önceki carisi var 300 tl lik alışveriş yapıyor ve 500 tl ödüyor yeni cari 800 tl olması lazımken kolonlarda ; 1000 tl önceki cari -200 alışveriş 500 ödenen cari 800 oluyor yani alışverişde net parayı yazıyor bu yüzden eksiye düşüyor e bunları excel de toplatırken de haliyle hesap yanılıyor ek olarak tahsilat ve son bakiye tl cinsinden olduğu için dövizi çeviriyor e benim kasamda örnek veriyorum 200$ varken 420 tl olarak gözüküyor bu sefer son bakiye tl ye dönüyor ve bu da hesabı yanıltıyor ben doları ayrı tl yi ayrı euro yu ayrı tutmak istiyorum cari hesaplarda birimler belli ama çevirmesi sonucu yanlış verdiriyor ne yapmam gerekir? hani ben bile sıkıldım 3 gündür tek bir raporu almak için uğraşmaktan size de bu konuda anlayışınız için minnettarım..ama bir şekilde 1 ay bile geçse ben bu sorguyu sorunsuz alıcam inşallah inat ettim yapıcam ve yardımlarınızı bekliyorum abilerim

Çevrimdışı teornek

  • Logo Kullanıcısı
  • **
  • Karma: 0
  • Bir yerden başlamak gerekir
Ynt: SQL'de yapmak istediğim rapor
« Yanıtla #72 : 06.02.2015, 17:17 »
aklıma gelen yöntem  tahsilat ve son bakiye içinde aynı satış faturasında olduğu gibi euro dolar tl getirmek ama bu sefer de kolon sayısı çok olacak birşetireyim desem değerler null olmadığı için başında 0 olacak önerisi olan var mı acaba?bana en mantıkı gelen tahsilat ve son bakiye içinde aynısını yapmak ama değerler hep tl ye dönüyor nasıl yapıcam bilemiyorum denedim ama çok saçma şeyler geldi..öneriye açığım

Çevrimdışı teornek

  • Logo Kullanıcısı
  • **
  • Karma: 0
  • Bir yerden başlamak gerekir
Ynt: SQL'de yapmak istediğim rapor
« Yanıtla #73 : 07.02.2015, 09:01 »
var mı bir fikri olan ? ???

Çevrimdışı ByBirol®

  • Logo Sistem Administrator
  • Logo Uzmanı
  • *****
  • Karma: 18
  • admin@artibilisim.com Logo Çözüm Ortağı
Ynt: SQL'de yapmak istediğim rapor
« Yanıtla #74 : 07.02.2015, 10:24 »
Sorgularını gizden geçir , hesaplamaya dahil olmayan yapı var .