Logo Destek
Logo Nostalji => Tiger - Tiger2 => Konuyu başlatan: yousemeti - 15.05.2007, 12:41
-
Selamlar Kolay gelsin herkese;
Daha öncede Sormuştum Ama Adam gibi yazamamıştım soruyur iyşallah şimdi yazabilmişimdir.
Yapama Çalıştığım bir rapor için SQL koda ihtiyacım var.
Tiger v1.55 Dönem Bağımlı Malzeme Raporu Giren Ürünlerin toplam adedini bulmak istiyorum. Dönemleri şu şekilde
LG_102_02,
LG_102_03,
LG_102_04,
Malzemenin geçmiş dönemdeki alımlarını nasıl toplatırım örnek Malzeme Kodu A% ile Başlayanların 2005. 2006. 2007 yılındaki alımlarının toplamını almak istiyorum.
Yapmak istediğim Rapor
Bu SQL Kodu ile yapmak istediğim şey “Giren, Çıkan, Kalan” Kalan raporu yapmaya Çalışıyorum. Malzemenin Eldeki Adedini “ONHAND” Alanından alıyorum Depo Kodunu sınırlayarak. “PURAMNT- ONHAND = Satış Adedi “ buluyorum
Örnek SQL;
Bu SQL ile 2005 yılında Stok kodu “A” ile başlayanların toplamını alabiliyorum
SELECT LG_102_ITEMS.CODE AS [Stok Kodu], LG_102_ITEMS.NAME AS [Stok Aciklamasi], LG_102_02_GNTOTST.PURAMNT AS Giren
FROM LG_102_ITEMS INNER JOIN
LG_102_02_GNTOTST ON LG_102_02_GNTOTST.STOCKREF = LG_102_ITEMS.LOGICALREF
GROUP BY LG_102_ITEMS.NAME, LG_102_02_GNTOTST.INVENNO, LG_102_ITEMS.CODE, LG_102_02_GNTOTST.PURAMNT, LG_102_ITEMS.ACTIVE
HAVING (LG_102_ITEMS.ACTIVE = 0) AND (LG_102_ITEMS.CODE LIKE 'A%') AND (LG_102_02_GNTOTST.INVENNO = 0)
ORDER BY LG_102_ITEMS.CODE
-
Merhaba,
Öncelikli olarak aşağıdaki query ile bir tane view oluşturacağız
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
CREATE VIEW MALZEME_RAPORU WITH ENCRYPTION AS
SELECT ITEMS.CODE AS Stok_Kodu,
ITEMS.NAME AS Stok_Aciklamasi,
TOT.PURAMNT AS Giren
FROM LG_102_ITEMS ITEMS
LEFT OUTER JOIN LG_102_02_GNTOTSAT TOT ON
TOT.STOCKREF = ITEMS.LOGICALREF
WHERE (ITEMS.ACTIVE = 0) AND (ITEMS.CODE LIKE 'A%') AND (TOT.INVENNO = 0)
UNION ALL
SELECT ITEMS.CODE AS Stok_Kodu,
ITEMS.NAME AS Stok_Aciklamasi,
TOT.PURAMNT AS Giren
FROM LG_102_ITEMS ITEMS
LEFT OUTER JOIN LG_102_03_GNTOTSAT TOT ON
TOT.STOCKREF = ITEMS.LOGICALREF
WHERE (ITEMS.ACTIVE = 0) AND (ITEMS.CODE LIKE 'A%') AND (TOT.INVENNO = 0)
UNION ALL
SELECT ITEMS.CODE AS Stok_Kodu,
ITEMS.NAME AS Stok_Aciklamasi,
TOT.PURAMNT AS Giren
FROM LG_102_ITEMS ITEMS
LEFT OUTER JOIN LG_102_04_GNTOTSAT TOT ON
TOT.STOCKREF = ITEMS.LOGICALREF
WHERE (ITEMS.ACTIVE = 0) AND (ITEMS.CODE LIKE 'A%') AND (TOT.INVENNO = 0)
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
Daha sonra aşağıdaki query ile de istemiş oluğun raporu alabilirsin.
SELECT Stok_Kodu,
Stok_Aciklamasi,
SUM (Giren) AS Giren
WHERE MALZEME_RAPORU
GROUP BY Stok_Kodu,
Stok_Aciklamasi
:) işini görür inşallah
Kolay gelsin
-
Hocam sana ne kadar teşekür etsem inan azdır çok ama çok teşekür ederim.
sayende bir şey daha öğrendim cok ama teşekür ederim..
salih Hanifeoğlu