📄 Tam SQL Kodu (Referans)

Analiz eklerken buradan kod parçalarını kopyalayabilirsiniz

CREATE VIEW dbo.WEBAPI_Ege350342i
AS
SELECT
    ITM.LOGICALREF                   AS Ref,
    ITM.CODE                         AS SicilKodu,
    dbo.RepOzel(dbo.InitCap(
        { fn CONCAT(
            { fn CONCAT({ fn CONCAT(ITM.SPECODE2, ' ') }, dbo.RepLhRh(ITM.NAME)) },
            dbo.RepLhRh(ITM.NAME3))
        }))                          AS SicilAdi,
    ITM.SPECODE4                     AS Marka,
    ISNULL(NULLIF(ITM.STGRPCODE,''),'DIGER')      AS UrunTipi,
    ''                               AS KampanyaFiyati,
    CASE WHEN (GNT.ONHAND - GNT.TEMPIN - GNT.RESERVED) > 0
         THEN 'VAR' ELSE 'YOK' END   AS StokDurumu,

    /* Liste fiyati – eskisi gibi */
    TLF.TL * 1.2                     AS ListeFiyati,

    /* ----------------- MaliyetFiyati (ZAMLI) ----------------- */
    MX.BaseMaliyet * (
        1 + CASE
            WHEN MX.BaseMaliyet >=    0  AND MX.BaseMaliyet <    15  THEN 400/100.0
            WHEN MX.BaseMaliyet >=   15  AND MX.BaseMaliyet <    25  THEN 300/100.0
            WHEN MX.BaseMaliyet >=   25  AND MX.BaseMaliyet <    50  THEN 200/100.0
            WHEN MX.BaseMaliyet >=   50  AND MX.BaseMaliyet <   100  THEN 200/100.0
            WHEN MX.BaseMaliyet >=  100  AND MX.BaseMaliyet <   150  THEN 100/100.0
            WHEN MX.BaseMaliyet >=  150  AND MX.BaseMaliyet <   250  THEN  70/100.0
            WHEN MX.BaseMaliyet >=  250  AND MX.BaseMaliyet <   500  THEN  50/100.0
            WHEN MX.BaseMaliyet >=  500  AND MX.BaseMaliyet <  1000  THEN  40/100.0
            WHEN MX.BaseMaliyet >= 1000  AND MX.BaseMaliyet <  2500  THEN  30/100.0
            WHEN MX.BaseMaliyet >= 2500  AND MX.BaseMaliyet <  5000  THEN  25/100.0
            WHEN MX.BaseMaliyet >= 5000  AND MX.BaseMaliyet < 10000  THEN  20/100.0
            ELSE                                                     15/100.0   -- 10 000+
        END
    )                               AS MaliyetFiyati,
    /* ---------------------------------------------------------- */

    MX.BaseMaliyet                           AS Nakit,
    'TL'                             AS Kur,
    CASE WHEN KR.LOGICALREF IS NULL
         THEN { fn CONCAT({ fn CONCAT('https://universaloto.com/foto/webp/', dbo.formatNumber(ITM.LOGICALREF)) }, '.webp') }
         ELSE '' END                AS Resim,
    ISNULL(NULLIF(ITM.SPECODE2,''),'DIGER')        AS Arac,
    CASE WHEN (GNT.ONHAND - GNT.TEMPIN - GNT.RESERVED) > 10
         THEN 10
         ELSE ISNULL((GNT.ONHAND - GNT.TEMPIN - GNT.RESERVED),0)
    END                             AS StokAdeti,
    ISNULL(NULLIF(ITM.GTIPCODE,''),'DIGER')        AS Kategori

FROM dbo.LG_011_ITEMS                AS ITM
LEFT JOIN dbo.LV_011_08_GNTOTST      AS GNT ON GNT.STOCKREF = ITM.LOGICALREF AND GNT.INVENNO = -1
LEFT JOIN dbo.UNI_TL_FIYAT           AS TLF ON TLF.CARDREF  = ITM.LOGICALREF
LEFT JOIN dbo.KirikResimler          AS KR  ON KR.LOGICALREF = ITM.LOGICALREF

/* Tek seferlik “taban maliyet” hesabi */
CROSS APPLY (
    SELECT
        CASE
            WHEN ISNULL(NULLIF(ITM.GTIPCODE,''),'DIGER') = 'AYDINLATMA'
                 THEN TLF.TL * 0.7  * 1.2   -- %70 marj + KDV(?)
            ELSE TLF.TL * 0.77 * 1.2        -- %77 marj + KDV(?)
        END AS BaseMaliyet
) MX

WHERE ITM.ACTIVE = 0
  AND TLF.TL IS NOT NULL;

➕ Yeni Kod Analizi Ekle

📋 Mevcut Analizler (0)

Henüz kod analizi eklenmemiş.

Yukarıdaki formu kullanarak ilk analizi ekleyin.