SQL'de yapmak istediğim rapor

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

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Çevrimdışı halisbatmaz

  • Logo Uzmanı
  • *****
  • Karma: -4
Ynt: SQL'de yapmak istediğim rapor
« Yanıtla #30 : 03.02.2015, 16:25 »
İbrahim kardeşin sorgusu tam istediğin gibi zaten. Ordaki alacağı çıkar o fazla gerisi tas tamam

Ç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 #31 : 03.02.2015, 16:27 »
Where deki convert(varchar,DATE_,104)=convert(varchar,GETDATE(),104) alana dikkat edin ?

Çevrimdışı ibrahim02

  • Logo Kullanıcısı Pro
  • ***
  • Karma: 0
Ynt: SQL'de yapmak istediğim rapor
« Yanıtla #32 : 03.02.2015, 16:28 »
Where deki convert(varchar,DATE_,104)=convert(varchar,GETDATE(),104) alana dikkat edin ?

Bu günkü işlemleri veriyor ora ya arkadaş yeni aha donem ve firma numaralarını düzeltmeden direk attığımız gibi çalıştırıyor sanırım

Ç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 #33 : 03.02.2015, 16:32 »
Where deki convert(varchar,DATE_,104)=convert(varchar,GETDATE(),104) alana dikkat edin ?

Bu günkü işlemleri veriyor ora ya arkadaş yeni aha donem ve firma numaralarını düzeltmeden direk attığımız gibi çalıştırıyor sanırım

donem ve firma bilgilerine ek olarak convert sorunu da olabilir her zaman  YIL + AY + GUN gitmek daha faydalı .

WHERE CANCELLED=0 AND  CONVERT(VARCHAR(10),DATE_,120)=CONVERT(VARCHAR(10),GETDATE(),120)
« Son Düzenleme: 03.02.2015, 16:34 Gönderen: ByBirol »

Çevrimdışı teornek

  • Logo Kullanıcısı
  • **
  • Karma: 0
  • Bir yerden başlamak gerekir
Ynt: SQL'de yapmak istediğim rapor
« Yanıtla #34 : 03.02.2015, 16:59 »
tarihi şimdilik elden  girmem lazım üstadlar şuan sorgum çalışıyor ama db nin en başından beri bütün herşey geliyor yani ben 2014.12.12 tarihindeki gün sonu raporuna bakmam lazım..ve sorguda bi firmayı kısıtlıcam yani like kullanarak mst_2 firmasına bakmam lazımbu haliyle sorgu tamam ama herşey geliyor ben mst ile başlayan kodların belirlenen tarihdeki alışverişini görmem lazım

Çevrimdışı teornek

  • Logo Kullanıcısı
  • **
  • Karma: 0
  • Bir yerden başlamak gerekir
Ynt: SQL'de yapmak istediğim rapor
« Yanıtla #35 : 03.02.2015, 17:06 »
hocam sorguyu düzenledim çalıştırdım ama bu sefer db nin en başından itibaren geliyor herşey tarih koyduğumda da sadece tarih kısmındaki orjinal tarih değişiyor ama hala aynı ve bazı firmaları görmek istiyorm bunlar mst ile başlayan ve belirlenen tarihteki alışverişi göstermesi lazım..şu an db yedeğinden çalışıyorum güncel veri yok o yüzden sıkıntı yaşıyorum büyük ihtimal kod tam istediğim gibi sadece 2 şey kaldı 1.si tarihi kendim belirleme 2014.12.12 gibi ve like ile mst ilebaşlayan firmalar ile kısıtlamak bunu daha önceki kodda yapmıştım ama burda uyarlayamadım en altta mevcut
--
/*Gün sonu cari raporu*/
SELECT 
CARİ.CODE AS [KODU], 
CARİ.DEFINITION_ AS [ÜNVANI], 
FAT.FICHENO [FATURA NO],
FAT.DATE_ AS [TARİH], 
FAT.GROSSTOTAL AS [TOPLAM], 
FAT.TOTALDISCOUNTS AS [İNDİRİMLER], 
FAT.NETTOTAL AS [NET TOPLAM ]
FROM     
LG_050_CLCARD CARİ,     
LG_050_02_INVOICE FAT,
LG_050_02_STFICHE STF
WHERE     
CARİ.LOGICALREF = STF.CLIENTREF
AND  STF.INVOICEREF = FAT.LOGICALREF
AND  CARİ.LOGICALREF = FAT.CLIENTREF
AND STF.BILLED=1
AND FAT.DATE_ ='18.12.2014'
AND CARİ.CODE LIKE 'MST%'
AND CARİ.CODE NOT LIKE 'MST_T%'
--

Çevrimdışı teornek

  • Logo Kullanıcısı
  • **
  • Karma: 0
  • Bir yerden başlamak gerekir
Ynt: SQL'de yapmak istediğim rapor
« Yanıtla #36 : 03.02.2015, 17:08 »
bugun bu iş bitecek inanıyorum ve herkese şimdiden çok teşekkür ederim Allah razı olsun beyler..

Çevrimdışı teornek

  • Logo Kullanıcısı
  • **
  • Karma: 0
  • Bir yerden başlamak gerekir
Ynt: SQL'de yapmak istediğim rapor
« Yanıtla #37 : 03.02.2015, 17:12 »
VE MÜJDEMİ İSTERİM YAPTIM ABİLERİM...

Çevrimdışı ibrahim02

  • Logo Kullanıcısı Pro
  • ***
  • Karma: 0
Ynt: SQL'de yapmak istediğim rapor
« Yanıtla #38 : 03.02.2015, 17:25 »
gozun aydın

Çevrimdışı halisbatmaz

  • Logo Uzmanı
  • *****
  • Karma: -4
Ynt: SQL'de yapmak istediğim rapor
« Yanıtla #39 : 03.02.2015, 17:34 »
Gözün aydın :) birde o ALACAK sütununun amacını çözemedim.Tahsilatla aynı bilgileri veriyor

Çevrimdışı ibrahim02

  • Logo Kullanıcısı Pro
  • ***
  • Karma: 0
Ynt: SQL'de yapmak istediğim rapor
« Yanıtla #40 : 03.02.2015, 17:37 »
toplam bilgisi o orneğin 1000 tl k.kartı 1000 tl nakit tahsilat 2000 alacak hanesi gibi :)

Çevrimdışı teornek

  • Logo Kullanıcısı
  • **
  • Karma: 0
  • Bir yerden başlamak gerekir
Ynt: SQL'de yapmak istediğim rapor
« Yanıtla #41 : 03.02.2015, 17:37 »
ince ayarı şimdi veriyorum hocam :-)

Çevrimdışı teornek

  • Logo Kullanıcısı
  • **
  • Karma: 0
  • Bir yerden başlamak gerekir
Ynt: SQL'de yapmak istediğim rapor
« Yanıtla #42 : 03.02.2015, 17:40 »
herkese tekrardan teşekkür ederim bayağı bir vaktinizi aldım hakkınızı helal edin

Çevrimdışı teornek

  • Logo Kullanıcısı
  • **
  • Karma: 0
  • Bir yerden başlamak gerekir
Ynt: SQL'de yapmak istediğim rapor
« Yanıtla #43 : 05.02.2015, 08:25 »
abilerim malum kodu kullandıkça gözüme eksikler çarpıyor ve uğraştıkca daha da karmaşık oluyor..yapmak istediğim sorgunun excel de bir taslağını çıkardım ve sağüst tarafa da yapılması gerekenleri yazdım acaba nasıl bir yol izlemem gerekir istediklerim yapılabilir mi? bu arada sorguyu excele atmak istiyorum bir türlü onuda beceremedim..sizce istediğim raporda ne kadarını yapabilirim aşağıdaki taslağa göre...

Çevrimdışı teornek

  • Logo Kullanıcısı
  • **
  • Karma: 0
  • Bir yerden başlamak gerekir
Ynt: SQL'de yapmak istediğim rapor
« Yanıtla #44 : 05.02.2015, 09:02 »
--KOD


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),
--Borc=SUM(Case When CLFLINE.SIGN=0 THEN AMOUNT ELSE 0 END),
Satis_Faturasi=SUM(Case When CLFLINE.MODULENR=4 AND  CLFLINE.TRCODE IN(37,38)  THEN AMOUNT ELSE 0 END),
--Alacak=SUM(CASE WHEN CLFLINE.SIGN=1 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%'
AND CL.CODE NOT LIKE 'MST_T%'
GROUP BY CLFLINE.CLIENTREF,CODE,DEFINITION_,DATE_
ORDER BY USD DESC,EURO DESC,TL DESC