📄 Tam SQL Kodu (Referans)

Analiz eklerken buradan kod parçalarını kopyalayabilirsiniz

CREATE VIEW dbo.[0001_alis_satis_fiyatlari]
AS
SELECT        TOP (100) PERCENT ITM.CODE AS [MALZEME KODU], ITM.NAME AS [MALZEME AÇIKLAMASI], GN.ONHAND - GN.RESERVED - GN.TEMPIN AS [STOK MIKTARI], ISNULL
                             ((SELECT        TOP (1) PRICE
                                 FROM            dbo.LG_011_PRCLIST
                                 WHERE        (PTYPE = 2) AND (ACTIVE = 0) AND (CARDREF = ITM.LOGICALREF)
                                 ORDER BY BEGDATE DESC), 0) AS [SATIS FIYATI], ISNULL
                             ((SELECT        TOP (1) CASE WHEN CAST(CURRENCY AS VARCHAR(5)) = 1 THEN 'USD' WHEN CAST(CURRENCY AS VARCHAR(5)) = 20 THEN 'EURO' WHEN CAST(CURRENCY AS VARCHAR(5)) = 160 OR
                                                          CAST(CURRENCY AS VARCHAR(5)) = 0 THEN 'TL' ELSE 'YOK' END AS Expr1
                                 FROM            dbo.LG_011_PRCLIST AS LG_011_PRCLIST_5
                                 WHERE        (PTYPE = 2) AND (ACTIVE = 0) AND (CARDREF = ITM.LOGICALREF)
                                 ORDER BY BEGDATE DESC), '') AS [SATIS KURU], ISNULL
                             ((SELECT        TOP (1) PRICE
                                 FROM            dbo.LG_011_PRCLIST AS LG_011_PRCLIST_4
                                 WHERE        (PTYPE = 1) AND (ACTIVE = 0) AND (CARDREF = ITM.LOGICALREF)
                                 ORDER BY BEGDATE DESC), 0) AS [ALIS FIYATI], ISNULL
                             ((SELECT        TOP (1) CASE WHEN CAST(CURRENCY AS VARCHAR(5)) = 1 THEN 'USD' WHEN CAST(CURRENCY AS VARCHAR(5)) = 20 THEN 'EURO' WHEN CAST(CURRENCY AS VARCHAR(5)) = 160 OR
                                                          CAST(CURRENCY AS VARCHAR(5)) = 0 THEN 'TL' ELSE 'YOK' END AS Expr1
                                 FROM            dbo.LG_011_PRCLIST AS LG_011_PRCLIST_3
                                 WHERE        (PTYPE = 1) AND (ACTIVE = 0) AND (CARDREF = ITM.LOGICALREF)
                                 ORDER BY BEGDATE DESC), '') AS [ALIS KURU], ISNULL
                             ((SELECT        TOP (1) LOGICALREF
                                 FROM            dbo.LG_011_PRCLIST AS LG_011_PRCLIST_2
                                 WHERE        (PTYPE = 2) AND (ACTIVE = 0) AND (CARDREF = ITM.LOGICALREF)
                                 ORDER BY BEGDATE DESC), 0) AS [SATIS DURUM], ISNULL
                             ((SELECT        TOP (1) LOGICALREF
                                 FROM            dbo.LG_011_PRCLIST AS LG_011_PRCLIST_1
                                 WHERE        (PTYPE = 1) AND (ACTIVE = 0) AND (CARDREF = ITM.LOGICALREF)
                                 ORDER BY BEGDATE DESC), 0) AS [ALIS DURUM], ITM.LOGICALREF, ITM.UNITSETREF
FROM            dbo.LG_011_ITEMS AS ITM LEFT OUTER JOIN
                         dbo.LV_011_07_GNTOTST AS GN ON GN.STOCKREF = ITM.LOGICALREF AND GN.INVENNO = - 1
WHERE        (ITM.ACTIVE = 0) AND (ITM.NAME <> '')
ORDER BY 'MALZEME AÇIKLAMASI'

➕ Yeni Kod Analizi Ekle

📋 Mevcut Analizler (7)

Adım 1
FROM dbo.LG_011_ITEMS AS ITM
LEFT OUTER JOIN dbo.LV_011_07_GNTOTST AS GN
  ON GN.STOCKREF = ITM.LOGICALREF AND GN.INVENNO = - 1
WHERE (ITM.ACTIVE =...

Ne oluyor? Listeyi LG_011_ITEMS (malzeme kartı) üzerinden kuruyor. (CODE, NAME, LOGICALREF, UNI ...

Adım 2
GN.ONHAND - GN.RESERVED - GN.TEMPIN AS [STOK MİKTARI]

Ne oluyor? Stok toplamından “kullanılabilir stok” gibi bir değer üretiyor: ONHAND (eldeki st ...

Adım 3
ISNULL(
  (SELECT TOP (1) PRICE
   FROM dbo.LG_011_PRCLIST
   WHERE (PTYPE = 2) AND (ACTIVE = 0) AND (CARDREF = ITM.LOGICALREF)
   ORDER BY BEGDAT...

Ne oluyor? LG_011_PRCLIST Logo’da fiyat kartları / fiyat listesi tablosu. ugurozpinar.github.io ...

Adım 4
ISNULL(
  (SELECT TOP (1)
     CASE
       WHEN CAST(CURRENCY AS VARCHAR(5)) = 1 THEN 'USD'
       WHEN CAST(CURRENCY AS VARCHAR(5)) = 20 THEN 'EU...

Ne oluyor? Aynı “en güncel satış fiyat kaydı”nın CURRENCY alanını alıyor. (LG_PRCLIST.CURRENCY ...

Adım 5
ISNULL(
  (SELECT TOP (1) PRICE
   FROM dbo.LG_011_PRCLIST
   WHERE (PTYPE = 1) AND (ACTIVE = 0) AND (CARDREF = ITM.LOGICALREF)
   ORDER BY BEGDAT...

Ne oluyor? PTYPE = 1 → alış fiyatı tipini seçiyor. ugurozpinar.github.io Yine en güncel (B ...

Adım 6
ISNULL(
  (SELECT TOP (1)
     CASE ... END
   FROM dbo.LG_011_PRCLIST
   WHERE (PTYPE = 1) AND (ACTIVE = 0) AND (CARDREF = ITM.LOGICALREF)
   OR...

Ne oluyor? Aynı mantıkla alış fiyat kaydının CURRENCY alanını yazıya çeviriyor.

Adım 7
ISNULL(
  (SELECT TOP (1) LOGICALREF
   FROM dbo.LG_011_PRCLIST
   WHERE (PTYPE = 2) AND (ACTIVE = 0) AND (CARDREF = ITM.LOGICALREF)
   ORDER BY B...

Ne oluyor? Burada fiyatın kendisini değil, o fiyat kaydının LOGICALREF’ini alıyor. Pratik ...