📄 Tam SQL Kodu (Referans)
Analiz eklerken buradan kod parçalarını kopyalayabilirsiniz
CREATE VIEW dbo.WEBAPI_GMS350327I0
AS
SELECT
*
FROM
(
-- Ürün verilerini çeken ve hesaplanan alanlari olusturan ana sorgu
SELECT
ITM.LOGICALREF AS Ref,
ITM.CODE AS SicilKodu,
-- Ürün Adi olusturuluyor: SPECODE2 + NAME + NAME3 (Temizlenmis ve Bas Harfi Büyük)
dbo.RepOzel(dbo.InitCap({ fn CONCAT({ fn CONCAT({ fn CONCAT(ITM.SPECODE2, ' ') }, dbo.RepLhRh(ITM.NAME)) }, dbo.RepLhRh(ITM.NAME3)) })) AS SicilAdi,
ISNULL(ITM.SPECODE4, '') AS Marka,
ISNULL(ITM.STGRPCODE, '') AS UrunTipi,
-- Stok Durumu Kontrolü (VAR/YOK)
CASE
WHEN (GNT.ONHAND - GNT.TEMPIN - GNT.RESERVED) > 0
THEN 'VAR'
ELSE 'YOK'
END AS StokDurumu,
-- Liste Fiyati Hesaplamasi (TLF.TL'ye göre kademeli artis oranlari)
CASE
WHEN TLF.TL BETWEEN 0 AND 200 THEN TLF.TL * 2.50
WHEN TLF.TL BETWEEN 201 AND 500 THEN TLF.TL * 2.00
WHEN TLF.TL BETWEEN 501 AND 1000 THEN TLF.TL * 1.80
WHEN TLF.TL BETWEEN 1001 AND 2500 THEN TLF.TL * 1.70
WHEN TLF.TL BETWEEN 2501 AND 4000 THEN TLF.TL * 1.65
WHEN TLF.TL BETWEEN 4001 AND 7000 THEN TLF.TL * 1.60
WHEN TLF.TL BETWEEN 7001 AND 10000 THEN TLF.TL * 1.50
WHEN TLF.TL BETWEEN 10001 AND 20000 THEN TLF.TL * 1.40
WHEN TLF.TL > 20000 THEN TLF.TL * 1.35
ELSE 0 -- NULL veya 0 degerler için eklendi (Ancak WHERE sartinda TLF.TL IS NOT NULL)
END AS ListeFiyati,
'TL' AS Kur,
'ADET' AS Birim,
ISNULL(ITM.VAT, 20) AS Kdv,
-- Resim URL'si (KirikResimler tablosunda yoksa LOGICALREF ile olusturulur)
CASE
WHEN KR.LOGICALREF IS NULL
THEN { fn CONCAT({ fn CONCAT('https://universaloto.com/foto/photos/', dbo.formatNumber(ITM.LOGICALREF)) }, '.jpg') }
ELSE ''
END AS Resim,
ITM.SPECODE2 AS Arac,
-- Stok Adeti (Maksimum 10 adeti geçmeyecek sekilde)
CASE
WHEN (GNT.ONHAND - GNT.TEMPIN - GNT.RESERVED) > 10
THEN 10
ELSE ISNULL((GNT.ONHAND - GNT.TEMPIN - GNT.RESERVED), 0)
END AS StokAdeti,
ISNULL(MAM.KAT1, '') AS Model,
ITM.GTIPCODE AS Kategori,
ISNULL(MAM.KAT1, '') AS Kategori1,
-- Sira Numarasi (Kaydin olusturulma tarihine göre)
ROW_NUMBER() OVER (ORDER BY ITM.CAPIBLOCK_CREADEDDATE) AS SIRA,
-- Kategori Alanlari (MALZEME_ARAC_MODELLERI tablosundan)
ISNULL(MAM.KAT2, '') AS Kategori2,
ISNULL(MAM.KAT3, '') AS Kategori3,
ISNULL(MAM.KAT4, '') AS Kategori4,
ISNULL(MAM.KAT5, '') AS Kategori5,
ISNULL(MAM.KAT6, '') AS Kategori6,
ISNULL(MAM.KAT7, '') AS Kategori7,
ISNULL(MAM.KAT8, '') AS Kategori8,
ISNULL(MAM.KAT9, '') AS Kategori9,
ISNULL(MAM.KAT10, '') AS Kategori10,
ISNULL(MAM.KAT11, '') AS Kategori11,
ISNULL(MAM.KAT12, '') AS Kategori12,
ISNULL(MAM.KAT13, '') AS Kategori13,
ISNULL(MAM.KAT14, '') AS Kategori14
FROM
dbo.LG_011_ITEMS AS ITM
LEFT OUTER JOIN
dbo.LV_011_08_GNTOTST AS GNT ON GNT.STOCKREF = ITM.LOGICALREF AND GNT.INVENNO = - 1
LEFT OUTER JOIN
dbo.UNI_TL_FIYAT AS TLF ON TLF.CARDREF = ITM.LOGICALREF
LEFT OUTER JOIN
dbo.MALZEME_ARAC_MODELLERI AS MAM ON MAM.LOGREF = ITM.LOGICALREF
LEFT OUTER JOIN
dbo.KirikResimler AS KR ON KR.LOGICALREF = ITM.LOGICALREF
WHERE
-- Kayit aktif degil (pasif)
(ITM.ACTIVE = 0) AND
-- TL Fiyati mevcut
(TLF.TL IS NOT NULL) AND
-- Belirtilen Ürün Tipi Gruplarinda degil
ISNULL(ITM.STGRPCODE, '') NOT IN ('ARMA', 'JANT GÖBEGI', 'YAZI') AND
-- Ürün Adi veya SPECODE2 alaninda "volvo" geçmiyor
(LOWER(dbo.RepOzel(dbo.InitCap({ fn CONCAT({ fn CONCAT({ fn CONCAT(ISNULL(ITM.SPECODE2, ''), ' ') }, ISNULL(dbo.RepLhRh(ITM.NAME), '')) }, ISNULL(dbo.RepLhRh(ITM.NAME3), '')) }))) NOT LIKE '%volvo%') AND
(LOWER(ISNULL(ITM.SPECODE2, '')) NOT LIKE '%volvo%')
) AS QQ;
➕ Yeni Kod Analizi Ekle
📋 Mevcut Analizler (0)
Henüz kod analizi eklenmemiş.
Yukarıdaki formu kullanarak ilk analizi ekleyin.