CİRO LİSTELEME

Gönderen Konu: CİRO LİSTELEME  (Okunma sayısı 991 defa)

0 Üye ve 2 Ziyaretçi konuyu incelemekte.

Çevrimdışı yuceal

  • Yeni Kullanıcı
  • *
  • Karma: 0
CİRO LİSTELEME
« : 22.11.2012, 15:41 »
Selam
Arkadaşlar bana malzemelerin gün bazlı ciroları lazım ama oluştuğum kodlarda daha ıskartaları çıkarmadan bile sayıyı yakalayamıyorum. Yardım lazım acilen


SELECT  H.DATE_ AS TARİH,

SUM(CASE WHEN  (T.CODE LIKE 'D%' OR T.CODE LIKE 'Y%' OR T.CODE LIKE 'S%') AND UN.NAME LIKE 'M%' THEN H.LINENET+H.VATAMNT END) AS FON,
SUM(CASE WHEN T.CODE LIKE 'P%' AND T.CODE NOT LIKE '%0' AND UN.NAME LIKE 'M%'  THEN H.LINENET+H.VATAMNT END) AS PARLATMA,
SUM(CASE WHEN T.CODE LIKE '3%' AND T.CODE NOT LIKE '%0'AND UN.NAME LIKE 'M%' THEN H.LINENET+H.VATAMNT END) AS  [3. PİŞİRİM],
SUM(CASE WHEN T.CODE LIKE 'K%'  THEN H.LINENET+H.VATAMNT END) AS [YAPI KİMYASALLARI],
SUM(CASE WHEN T.CODE LIKE '%0'AND UN.NAME LIKE 'M%' THEN H.LINENET+H.VATAMNT  END) AS [ISKARTA]


FROM   LG_012_01_STLINE AS H
INNER JOIN LG_012_CLCARD AS C ON H.CLIENTREF=C.LOGICALREF
INNER JOIN LG_012_ITEMS AS T ON H.STOCKREF = T.LOGICALREF
INNER JOIN LG_012_UNITSETF AS UN ON UN.LOGICALREF=T.UNITSETREF 
WHERE  (T.ACTIVE = 0) AND H.TRCODE IN (8)  AND H.DATE_ BETWEEN'2012.11.01' AND '2012.11.10'
GROUP BY H.DATE_

Çevrimdışı yuceal

  • Yeni Kullanıcı
  • *
  • Karma: 0
Ynt: CİRO LİSTELEME
« Yanıtla #1 : 22.11.2012, 16:52 »
yok mu yardım edebilcek birisi ???

Çevrimdışı MehmetYavuz

  • Logo Uzmanı
  • *****
  • Karma: 3
Ynt: CİRO LİSTELEME
« Yanıtla #2 : 23.11.2012, 11:14 »
vatmatrah'i kullan. kdv hariç tutar var orda.

Genele Not: birde takma ad verirken C, S, T, UR yerine anlamlı isimler kullansak, okurkende, yazarkende, yardım ederkende bayaaa bi kolaylık sağlar. herkes kendine göre bir takma ad uyduruyor buda "en azından benim icin" sikinti oluyor. sizde itemse T demişsiniz? T nedir arkadaş?

Not: case ile kullanım çeşitleri, hepside aynı anlama gelir, ama kodu bayaa kısaltır. ilki senin 2,3 benim.

Örnek:
SELECT CLCARD.CODE, STLINE.DATE_,
SUM(CASE WHEN  (T.CODE LIKE 'D%' OR T.CODE LIKE 'Y%' OR T.CODE LIKE 'S%') AND UN.NAME LIKE 'M%' THEN H.LINENET+H.VATAMNT END) AS FON,
SUM(CASE WHEN LEFT(ITEMS.CODE, 1) IN ('D', 'Y', 'S') AND UNITSETF.NAME LIKE 'M%' THEN STLINE.VATMATRAH+STLINE.VATAMNT END) AS FON,
SUM(CASE WHEN ITEMS.CODE LIKE '[DYS]%' AND UNITSETF.NAME LIKE 'M%' THEN STLINE.VATMATRAH+STLINE.VATAMNT END) AS FON,
SUM(CASE WHEN T.CODE LIKE '[DYS]%' AND UN.NAME LIKE 'M%' THEN H.VATMATRAH+H.VATAMNT END) AS FON, -- buda eski haliyle

...
LG_012_01_STLINE AS STLINE
LEFT JOIN LG_012_CLCARD AS CLCARD ON STLINE.CLIENTREF=CLCARD.LOGICALREF
LEFT JOIN LG_012_ITEMS AS ITEMS ON STLINE.STOCKREF = ITEMS.LOGICALREF
LEFT JOIN LG_012_UNITSETF AS UNITSETF ON UNITSETF.LOGICALREF=ITEMS.UNITSETREF 

Çevrimdışı yuceal

  • Yeni Kullanıcı
  • *
  • Karma: 0
Ynt: CİRO LİSTELEME
« Yanıtla #3 : 27.11.2012, 14:00 »
Öncelikle teşekkür ederim yardımın için. Uzun bir uğraştan sonra aşağıdaki şekilde çözdüm. Yazdıklarını görmemiştim en azından bir başka arkadaş için kolaylık olur diye kendi kodlarımı yazıyorum. Kolay gelsin.

SELECT  IV.DATE_ AS FATURATARIHI,

SUM(CASE WHEN  (IT.CODE LIKE 'D%' OR IT.CODE LIKE 'Y%' OR IT.CODE LIKE 'S%'OR IT.CODE LIKE 'G%')AND IT.CODE NOT LIKE '%0'  THEN STL.VATMATRAH END) AS FON,
SUM(CASE WHEN IT.CODE LIKE 'P%'AND IT.CODE NOT LIKE '%0' THEN STL.VATMATRAH END) AS PARLATMA,
SUM(CASE WHEN IT.CODE LIKE '3%' AND IT.CODE NOT LIKE '%0' THEN STL.VATMATRAH END) AS PISIRIM,
SUM(CASE WHEN IT.CODE LIKE 'K%' THEN STL.VATMATRAH END) AS YAPI_KIMYASALLARI,
SUM(CASE WHEN IT.CODE LIKE '%0'AND UN.NAME LIKE 'M%'  THEN STL.VATMATRAH END) AS ISKARTA_CIRO,
SUM(CASE WHEN  UN.NAME LIKE 'M%' AND IT.CODE NOT LIKE '%0'   THEN STL.AMOUNT END) AS TOPLAM_M2

FROM  LG_012_01_INVOICE IV,LG_012_CLCARD C,LG_012_ITEMS IT,LG_012_01_STLINE STL,LG_012_UNITSETF UN
 
WHERE  IV.LOGICALREF=STL.INVOICEREF AND IV.CLIENTREF=C.LOGICALREF  AND IT.LOGICALREF=STL.STOCKREF AND
IT.UNITSETREF=UN.LOGICALREF AND IV.TRCODE=8 AND IV.DATE_>='2012.11.01' AND IV.DATE_<='2012.11.24'
 
GROUP BY IV.DATE_
ORDER BY FATURATARIHI