|
|
|
|
@@ -13,56 +13,6 @@ DECLARE @FitList NVARCHAR(MAX) = NULLIF(LTRIM(RTRIM(@p7)), '');
|
|
|
|
|
DECLARE @DropList NVARCHAR(MAX) = NULLIF(LTRIM(RTRIM(@p8)), '');
|
|
|
|
|
DECLARE @BedenList NVARCHAR(MAX) = NULLIF(LTRIM(RTRIM(@p9)), '');
|
|
|
|
|
|
|
|
|
|
DECLARE @SelUrunAltGrubu TABLE (Value NVARCHAR(100) PRIMARY KEY);
|
|
|
|
|
DECLARE @SelRenk TABLE (Value NVARCHAR(100) PRIMARY KEY);
|
|
|
|
|
DECLARE @SelRenk2 TABLE (Value NVARCHAR(100) PRIMARY KEY);
|
|
|
|
|
DECLARE @SelUrunIcerigi TABLE (Value NVARCHAR(100) PRIMARY KEY);
|
|
|
|
|
DECLARE @SelFit TABLE (Value NVARCHAR(100) PRIMARY KEY);
|
|
|
|
|
DECLARE @SelDrop TABLE (Value NVARCHAR(100) PRIMARY KEY);
|
|
|
|
|
DECLARE @SelBeden TABLE (Value NVARCHAR(100) PRIMARY KEY);
|
|
|
|
|
|
|
|
|
|
IF @UrunAltGrubuList IS NOT NULL
|
|
|
|
|
INSERT INTO @SelUrunAltGrubu(Value)
|
|
|
|
|
SELECT DISTINCT LTRIM(RTRIM(value))
|
|
|
|
|
FROM STRING_SPLIT(@UrunAltGrubuList, NCHAR(31))
|
|
|
|
|
WHERE LTRIM(RTRIM(value)) <> '';
|
|
|
|
|
|
|
|
|
|
IF @RenkList IS NOT NULL
|
|
|
|
|
INSERT INTO @SelRenk(Value)
|
|
|
|
|
SELECT DISTINCT LTRIM(RTRIM(value))
|
|
|
|
|
FROM STRING_SPLIT(@RenkList, NCHAR(31))
|
|
|
|
|
WHERE LTRIM(RTRIM(value)) <> '';
|
|
|
|
|
|
|
|
|
|
IF @Renk2List IS NOT NULL
|
|
|
|
|
INSERT INTO @SelRenk2(Value)
|
|
|
|
|
SELECT DISTINCT LTRIM(RTRIM(value))
|
|
|
|
|
FROM STRING_SPLIT(@Renk2List, NCHAR(31))
|
|
|
|
|
WHERE LTRIM(RTRIM(value)) <> '';
|
|
|
|
|
|
|
|
|
|
IF @UrunIcerigiList IS NOT NULL
|
|
|
|
|
INSERT INTO @SelUrunIcerigi(Value)
|
|
|
|
|
SELECT DISTINCT LTRIM(RTRIM(value))
|
|
|
|
|
FROM STRING_SPLIT(@UrunIcerigiList, NCHAR(31))
|
|
|
|
|
WHERE LTRIM(RTRIM(value)) <> '';
|
|
|
|
|
|
|
|
|
|
IF @FitList IS NOT NULL
|
|
|
|
|
INSERT INTO @SelFit(Value)
|
|
|
|
|
SELECT DISTINCT LTRIM(RTRIM(value))
|
|
|
|
|
FROM STRING_SPLIT(@FitList, NCHAR(31))
|
|
|
|
|
WHERE LTRIM(RTRIM(value)) <> '';
|
|
|
|
|
|
|
|
|
|
IF @DropList IS NOT NULL
|
|
|
|
|
INSERT INTO @SelDrop(Value)
|
|
|
|
|
SELECT DISTINCT LTRIM(RTRIM(value))
|
|
|
|
|
FROM STRING_SPLIT(@DropList, NCHAR(31))
|
|
|
|
|
WHERE LTRIM(RTRIM(value)) <> '';
|
|
|
|
|
|
|
|
|
|
IF @BedenList IS NOT NULL
|
|
|
|
|
INSERT INTO @SelBeden(Value)
|
|
|
|
|
SELECT DISTINCT LTRIM(RTRIM(value))
|
|
|
|
|
FROM STRING_SPLIT(@BedenList, NCHAR(31))
|
|
|
|
|
WHERE LTRIM(RTRIM(value)) <> '';
|
|
|
|
|
|
|
|
|
|
CREATE TABLE #AttrBase
|
|
|
|
|
(
|
|
|
|
|
ProductCode NVARCHAR(50) NOT NULL,
|
|
|
|
|
@@ -89,10 +39,10 @@ BEGIN
|
|
|
|
|
WHERE LEN(ProductCode) = 13
|
|
|
|
|
AND (@Kategori IS NULL OR ProductAtt44Desc = @Kategori)
|
|
|
|
|
AND (@UrunAnaGrubu IS NULL OR ProductAtt01Desc = @UrunAnaGrubu)
|
|
|
|
|
AND (NOT EXISTS (SELECT 1 FROM @SelUrunAltGrubu) OR EXISTS (SELECT 1 FROM @SelUrunAltGrubu S WHERE S.Value = ProductAtt02Desc))
|
|
|
|
|
AND (NOT EXISTS (SELECT 1 FROM @SelUrunIcerigi) OR EXISTS (SELECT 1 FROM @SelUrunIcerigi S WHERE S.Value = ProductAtt41Desc))
|
|
|
|
|
AND (NOT EXISTS (SELECT 1 FROM @SelFit) OR EXISTS (SELECT 1 FROM @SelFit S WHERE S.Value = ProductAtt38Desc))
|
|
|
|
|
AND (NOT EXISTS (SELECT 1 FROM @SelDrop) OR EXISTS (SELECT 1 FROM @SelDrop S WHERE S.Value = ProductAtt11Desc));
|
|
|
|
|
AND (@UrunAltGrubuList IS NULL OR CHARINDEX(NCHAR(31) + ISNULL(ProductAtt02Desc,'') + NCHAR(31), NCHAR(31) + @UrunAltGrubuList + NCHAR(31)) > 0)
|
|
|
|
|
AND (@UrunIcerigiList IS NULL OR CHARINDEX(NCHAR(31) + ISNULL(ProductAtt41Desc,'') + NCHAR(31), NCHAR(31) + @UrunIcerigiList + NCHAR(31)) > 0)
|
|
|
|
|
AND (@FitList IS NULL OR CHARINDEX(NCHAR(31) + ISNULL(ProductAtt38Desc,'') + NCHAR(31), NCHAR(31) + @FitList + NCHAR(31)) > 0)
|
|
|
|
|
AND (@DropList IS NULL OR CHARINDEX(NCHAR(31) + ISNULL(ProductAtt11Desc,'') + NCHAR(31), NCHAR(31) + @DropList + NCHAR(31)) > 0);
|
|
|
|
|
END
|
|
|
|
|
ELSE
|
|
|
|
|
BEGIN
|
|
|
|
|
@@ -109,10 +59,10 @@ BEGIN
|
|
|
|
|
WHERE LEN(ProductCode) = 13
|
|
|
|
|
AND (@Kategori IS NULL OR ProductAtt44Desc = @Kategori)
|
|
|
|
|
AND (@UrunAnaGrubu IS NULL OR ProductAtt01Desc = @UrunAnaGrubu)
|
|
|
|
|
AND (NOT EXISTS (SELECT 1 FROM @SelUrunAltGrubu) OR EXISTS (SELECT 1 FROM @SelUrunAltGrubu S WHERE S.Value = ProductAtt02Desc))
|
|
|
|
|
AND (NOT EXISTS (SELECT 1 FROM @SelUrunIcerigi) OR EXISTS (SELECT 1 FROM @SelUrunIcerigi S WHERE S.Value = ProductAtt41Desc))
|
|
|
|
|
AND (NOT EXISTS (SELECT 1 FROM @SelFit) OR EXISTS (SELECT 1 FROM @SelFit S WHERE S.Value = ProductAtt38Desc))
|
|
|
|
|
AND (NOT EXISTS (SELECT 1 FROM @SelDrop) OR EXISTS (SELECT 1 FROM @SelDrop S WHERE S.Value = ProductAtt11Desc));
|
|
|
|
|
AND (@UrunAltGrubuList IS NULL OR CHARINDEX(NCHAR(31) + ISNULL(ProductAtt02Desc,'') + NCHAR(31), NCHAR(31) + @UrunAltGrubuList + NCHAR(31)) > 0)
|
|
|
|
|
AND (@UrunIcerigiList IS NULL OR CHARINDEX(NCHAR(31) + ISNULL(ProductAtt41Desc,'') + NCHAR(31), NCHAR(31) + @UrunIcerigiList + NCHAR(31)) > 0)
|
|
|
|
|
AND (@FitList IS NULL OR CHARINDEX(NCHAR(31) + ISNULL(ProductAtt38Desc,'') + NCHAR(31), NCHAR(31) + @FitList + NCHAR(31)) > 0)
|
|
|
|
|
AND (@DropList IS NULL OR CHARINDEX(NCHAR(31) + ISNULL(ProductAtt11Desc,'') + NCHAR(31), NCHAR(31) + @DropList + NCHAR(31)) > 0);
|
|
|
|
|
END;
|
|
|
|
|
|
|
|
|
|
IF @Kategori IS NULL OR @UrunAnaGrubu IS NULL
|
|
|
|
|
@@ -234,12 +184,12 @@ FROM (
|
|
|
|
|
WHERE (CASE WHEN A.RenkAciklama <> '' THEN A.RenkAciklama ELSE A.Renk END) <> ''
|
|
|
|
|
AND (@Kategori IS NULL OR AB.Kategori = @Kategori)
|
|
|
|
|
AND (@UrunAnaGrubu IS NULL OR AB.UrunAnaGrubu = @UrunAnaGrubu)
|
|
|
|
|
AND (NOT EXISTS (SELECT 1 FROM @SelUrunAltGrubu) OR EXISTS (SELECT 1 FROM @SelUrunAltGrubu S WHERE S.Value = AB.UrunAltGrubu))
|
|
|
|
|
AND (NOT EXISTS (SELECT 1 FROM @SelUrunIcerigi) OR EXISTS (SELECT 1 FROM @SelUrunIcerigi S WHERE S.Value = AB.UrunIcerigi))
|
|
|
|
|
AND (NOT EXISTS (SELECT 1 FROM @SelFit) OR EXISTS (SELECT 1 FROM @SelFit S WHERE S.Value = AB.Fit))
|
|
|
|
|
AND (NOT EXISTS (SELECT 1 FROM @SelDrop) OR EXISTS (SELECT 1 FROM @SelDrop S WHERE S.Value = AB.DropVal))
|
|
|
|
|
AND (NOT EXISTS (SELECT 1 FROM @SelRenk2) OR EXISTS (SELECT 1 FROM @SelRenk2 S WHERE S.Value = A.Renk2))
|
|
|
|
|
AND (NOT EXISTS (SELECT 1 FROM @SelBeden) OR EXISTS (SELECT 1 FROM @SelBeden S WHERE S.Value = A.Beden))
|
|
|
|
|
AND (@UrunAltGrubuList IS NULL OR CHARINDEX(NCHAR(31) + ISNULL(AB.UrunAltGrubu,'') + NCHAR(31), NCHAR(31) + @UrunAltGrubuList + NCHAR(31)) > 0)
|
|
|
|
|
AND (@UrunIcerigiList IS NULL OR CHARINDEX(NCHAR(31) + ISNULL(AB.UrunIcerigi,'') + NCHAR(31), NCHAR(31) + @UrunIcerigiList + NCHAR(31)) > 0)
|
|
|
|
|
AND (@FitList IS NULL OR CHARINDEX(NCHAR(31) + ISNULL(AB.Fit,'') + NCHAR(31), NCHAR(31) + @FitList + NCHAR(31)) > 0)
|
|
|
|
|
AND (@DropList IS NULL OR CHARINDEX(NCHAR(31) + ISNULL(AB.DropVal,'') + NCHAR(31), NCHAR(31) + @DropList + NCHAR(31)) > 0)
|
|
|
|
|
AND (@Renk2List IS NULL OR CHARINDEX(NCHAR(31) + ISNULL(A.Renk2,'') + NCHAR(31), NCHAR(31) + @Renk2List + NCHAR(31)) > 0)
|
|
|
|
|
AND (@BedenList IS NULL OR CHARINDEX(NCHAR(31) + ISNULL(A.Beden,'') + NCHAR(31), NCHAR(31) + @BedenList + NCHAR(31)) > 0)
|
|
|
|
|
) X
|
|
|
|
|
UNION ALL
|
|
|
|
|
SELECT 'renk2', X.FieldValue
|
|
|
|
|
@@ -250,12 +200,12 @@ FROM (
|
|
|
|
|
WHERE A.Renk2 <> ''
|
|
|
|
|
AND (@Kategori IS NULL OR AB.Kategori = @Kategori)
|
|
|
|
|
AND (@UrunAnaGrubu IS NULL OR AB.UrunAnaGrubu = @UrunAnaGrubu)
|
|
|
|
|
AND (NOT EXISTS (SELECT 1 FROM @SelUrunAltGrubu) OR EXISTS (SELECT 1 FROM @SelUrunAltGrubu S WHERE S.Value = AB.UrunAltGrubu))
|
|
|
|
|
AND (NOT EXISTS (SELECT 1 FROM @SelUrunIcerigi) OR EXISTS (SELECT 1 FROM @SelUrunIcerigi S WHERE S.Value = AB.UrunIcerigi))
|
|
|
|
|
AND (NOT EXISTS (SELECT 1 FROM @SelFit) OR EXISTS (SELECT 1 FROM @SelFit S WHERE S.Value = AB.Fit))
|
|
|
|
|
AND (NOT EXISTS (SELECT 1 FROM @SelDrop) OR EXISTS (SELECT 1 FROM @SelDrop S WHERE S.Value = AB.DropVal))
|
|
|
|
|
AND (NOT EXISTS (SELECT 1 FROM @SelRenk) OR EXISTS (SELECT 1 FROM @SelRenk S WHERE S.Value = (CASE WHEN A.RenkAciklama <> '' THEN A.RenkAciklama ELSE A.Renk END)))
|
|
|
|
|
AND (NOT EXISTS (SELECT 1 FROM @SelBeden) OR EXISTS (SELECT 1 FROM @SelBeden S WHERE S.Value = A.Beden))
|
|
|
|
|
AND (@UrunAltGrubuList IS NULL OR CHARINDEX(NCHAR(31) + ISNULL(AB.UrunAltGrubu,'') + NCHAR(31), NCHAR(31) + @UrunAltGrubuList + NCHAR(31)) > 0)
|
|
|
|
|
AND (@UrunIcerigiList IS NULL OR CHARINDEX(NCHAR(31) + ISNULL(AB.UrunIcerigi,'') + NCHAR(31), NCHAR(31) + @UrunIcerigiList + NCHAR(31)) > 0)
|
|
|
|
|
AND (@FitList IS NULL OR CHARINDEX(NCHAR(31) + ISNULL(AB.Fit,'') + NCHAR(31), NCHAR(31) + @FitList + NCHAR(31)) > 0)
|
|
|
|
|
AND (@DropList IS NULL OR CHARINDEX(NCHAR(31) + ISNULL(AB.DropVal,'') + NCHAR(31), NCHAR(31) + @DropList + NCHAR(31)) > 0)
|
|
|
|
|
AND (@RenkList IS NULL OR CHARINDEX(NCHAR(31) + ISNULL((CASE WHEN A.RenkAciklama <> '' THEN A.RenkAciklama ELSE A.Renk END),'') + NCHAR(31), NCHAR(31) + @RenkList + NCHAR(31)) > 0)
|
|
|
|
|
AND (@BedenList IS NULL OR CHARINDEX(NCHAR(31) + ISNULL(A.Beden,'') + NCHAR(31), NCHAR(31) + @BedenList + NCHAR(31)) > 0)
|
|
|
|
|
) X
|
|
|
|
|
UNION ALL
|
|
|
|
|
SELECT 'urun_icerigi', X.FieldValue
|
|
|
|
|
@@ -265,7 +215,7 @@ FROM (
|
|
|
|
|
WHERE AB.UrunIcerigi <> ''
|
|
|
|
|
AND (@Kategori IS NULL OR AB.Kategori = @Kategori)
|
|
|
|
|
AND (@UrunAnaGrubu IS NULL OR AB.UrunAnaGrubu = @UrunAnaGrubu)
|
|
|
|
|
AND (NOT EXISTS (SELECT 1 FROM @SelUrunAltGrubu) OR EXISTS (SELECT 1 FROM @SelUrunAltGrubu S WHERE S.Value = AB.UrunAltGrubu))
|
|
|
|
|
AND (@UrunAltGrubuList IS NULL OR CHARINDEX(NCHAR(31) + ISNULL(AB.UrunAltGrubu,'') + NCHAR(31), NCHAR(31) + @UrunAltGrubuList + NCHAR(31)) > 0)
|
|
|
|
|
) X
|
|
|
|
|
UNION ALL
|
|
|
|
|
SELECT 'fit', X.FieldValue
|
|
|
|
|
@@ -275,8 +225,8 @@ FROM (
|
|
|
|
|
WHERE AB.Fit <> ''
|
|
|
|
|
AND (@Kategori IS NULL OR AB.Kategori = @Kategori)
|
|
|
|
|
AND (@UrunAnaGrubu IS NULL OR AB.UrunAnaGrubu = @UrunAnaGrubu)
|
|
|
|
|
AND (NOT EXISTS (SELECT 1 FROM @SelUrunAltGrubu) OR EXISTS (SELECT 1 FROM @SelUrunAltGrubu S WHERE S.Value = AB.UrunAltGrubu))
|
|
|
|
|
AND (NOT EXISTS (SELECT 1 FROM @SelUrunIcerigi) OR EXISTS (SELECT 1 FROM @SelUrunIcerigi S WHERE S.Value = AB.UrunIcerigi))
|
|
|
|
|
AND (@UrunAltGrubuList IS NULL OR CHARINDEX(NCHAR(31) + ISNULL(AB.UrunAltGrubu,'') + NCHAR(31), NCHAR(31) + @UrunAltGrubuList + NCHAR(31)) > 0)
|
|
|
|
|
AND (@UrunIcerigiList IS NULL OR CHARINDEX(NCHAR(31) + ISNULL(AB.UrunIcerigi,'') + NCHAR(31), NCHAR(31) + @UrunIcerigiList + NCHAR(31)) > 0)
|
|
|
|
|
) X
|
|
|
|
|
UNION ALL
|
|
|
|
|
SELECT 'drop', X.FieldValue
|
|
|
|
|
@@ -286,9 +236,9 @@ FROM (
|
|
|
|
|
WHERE AB.DropVal <> ''
|
|
|
|
|
AND (@Kategori IS NULL OR AB.Kategori = @Kategori)
|
|
|
|
|
AND (@UrunAnaGrubu IS NULL OR AB.UrunAnaGrubu = @UrunAnaGrubu)
|
|
|
|
|
AND (NOT EXISTS (SELECT 1 FROM @SelUrunAltGrubu) OR EXISTS (SELECT 1 FROM @SelUrunAltGrubu S WHERE S.Value = AB.UrunAltGrubu))
|
|
|
|
|
AND (NOT EXISTS (SELECT 1 FROM @SelUrunIcerigi) OR EXISTS (SELECT 1 FROM @SelUrunIcerigi S WHERE S.Value = AB.UrunIcerigi))
|
|
|
|
|
AND (NOT EXISTS (SELECT 1 FROM @SelFit) OR EXISTS (SELECT 1 FROM @SelFit S WHERE S.Value = AB.Fit))
|
|
|
|
|
AND (@UrunAltGrubuList IS NULL OR CHARINDEX(NCHAR(31) + ISNULL(AB.UrunAltGrubu,'') + NCHAR(31), NCHAR(31) + @UrunAltGrubuList + NCHAR(31)) > 0)
|
|
|
|
|
AND (@UrunIcerigiList IS NULL OR CHARINDEX(NCHAR(31) + ISNULL(AB.UrunIcerigi,'') + NCHAR(31), NCHAR(31) + @UrunIcerigiList + NCHAR(31)) > 0)
|
|
|
|
|
AND (@FitList IS NULL OR CHARINDEX(NCHAR(31) + ISNULL(AB.Fit,'') + NCHAR(31), NCHAR(31) + @FitList + NCHAR(31)) > 0)
|
|
|
|
|
) X
|
|
|
|
|
UNION ALL
|
|
|
|
|
SELECT 'beden', X.FieldValue
|
|
|
|
|
@@ -299,12 +249,12 @@ FROM (
|
|
|
|
|
WHERE A.Beden <> ''
|
|
|
|
|
AND (@Kategori IS NULL OR AB.Kategori = @Kategori)
|
|
|
|
|
AND (@UrunAnaGrubu IS NULL OR AB.UrunAnaGrubu = @UrunAnaGrubu)
|
|
|
|
|
AND (NOT EXISTS (SELECT 1 FROM @SelUrunAltGrubu) OR EXISTS (SELECT 1 FROM @SelUrunAltGrubu S WHERE S.Value = AB.UrunAltGrubu))
|
|
|
|
|
AND (NOT EXISTS (SELECT 1 FROM @SelUrunIcerigi) OR EXISTS (SELECT 1 FROM @SelUrunIcerigi S WHERE S.Value = AB.UrunIcerigi))
|
|
|
|
|
AND (NOT EXISTS (SELECT 1 FROM @SelFit) OR EXISTS (SELECT 1 FROM @SelFit S WHERE S.Value = AB.Fit))
|
|
|
|
|
AND (NOT EXISTS (SELECT 1 FROM @SelDrop) OR EXISTS (SELECT 1 FROM @SelDrop S WHERE S.Value = AB.DropVal))
|
|
|
|
|
AND (NOT EXISTS (SELECT 1 FROM @SelRenk) OR EXISTS (SELECT 1 FROM @SelRenk S WHERE S.Value = (CASE WHEN A.RenkAciklama <> '' THEN A.RenkAciklama ELSE A.Renk END)))
|
|
|
|
|
AND (NOT EXISTS (SELECT 1 FROM @SelRenk2) OR EXISTS (SELECT 1 FROM @SelRenk2 S WHERE S.Value = A.Renk2))
|
|
|
|
|
AND (@UrunAltGrubuList IS NULL OR CHARINDEX(NCHAR(31) + ISNULL(AB.UrunAltGrubu,'') + NCHAR(31), NCHAR(31) + @UrunAltGrubuList + NCHAR(31)) > 0)
|
|
|
|
|
AND (@UrunIcerigiList IS NULL OR CHARINDEX(NCHAR(31) + ISNULL(AB.UrunIcerigi,'') + NCHAR(31), NCHAR(31) + @UrunIcerigiList + NCHAR(31)) > 0)
|
|
|
|
|
AND (@FitList IS NULL OR CHARINDEX(NCHAR(31) + ISNULL(AB.Fit,'') + NCHAR(31), NCHAR(31) + @FitList + NCHAR(31)) > 0)
|
|
|
|
|
AND (@DropList IS NULL OR CHARINDEX(NCHAR(31) + ISNULL(AB.DropVal,'') + NCHAR(31), NCHAR(31) + @DropList + NCHAR(31)) > 0)
|
|
|
|
|
AND (@RenkList IS NULL OR CHARINDEX(NCHAR(31) + ISNULL((CASE WHEN A.RenkAciklama <> '' THEN A.RenkAciklama ELSE A.Renk END),'') + NCHAR(31), NCHAR(31) + @RenkList + NCHAR(31)) > 0)
|
|
|
|
|
AND (@Renk2List IS NULL OR CHARINDEX(NCHAR(31) + ISNULL(A.Renk2,'') + NCHAR(31), NCHAR(31) + @Renk2List + NCHAR(31)) > 0)
|
|
|
|
|
) X
|
|
|
|
|
OPTION (RECOMPILE);
|
|
|
|
|
`
|
|
|
|
|
@@ -322,56 +272,6 @@ DECLARE @FitList NVARCHAR(MAX) = NULLIF(LTRIM(RTRIM(@p7)), '');
|
|
|
|
|
DECLARE @DropList NVARCHAR(MAX) = NULLIF(LTRIM(RTRIM(@p8)), '');
|
|
|
|
|
DECLARE @BedenList NVARCHAR(MAX) = NULLIF(LTRIM(RTRIM(@p9)), '');
|
|
|
|
|
|
|
|
|
|
DECLARE @SelUrunAltGrubu TABLE (Value NVARCHAR(100) PRIMARY KEY);
|
|
|
|
|
DECLARE @SelRenk TABLE (Value NVARCHAR(100) PRIMARY KEY);
|
|
|
|
|
DECLARE @SelRenk2 TABLE (Value NVARCHAR(100) PRIMARY KEY);
|
|
|
|
|
DECLARE @SelUrunIcerigi TABLE (Value NVARCHAR(100) PRIMARY KEY);
|
|
|
|
|
DECLARE @SelFit TABLE (Value NVARCHAR(100) PRIMARY KEY);
|
|
|
|
|
DECLARE @SelDrop TABLE (Value NVARCHAR(100) PRIMARY KEY);
|
|
|
|
|
DECLARE @SelBeden TABLE (Value NVARCHAR(100) PRIMARY KEY);
|
|
|
|
|
|
|
|
|
|
IF @UrunAltGrubuList IS NOT NULL
|
|
|
|
|
INSERT INTO @SelUrunAltGrubu(Value)
|
|
|
|
|
SELECT DISTINCT LTRIM(RTRIM(value))
|
|
|
|
|
FROM STRING_SPLIT(@UrunAltGrubuList, NCHAR(31))
|
|
|
|
|
WHERE LTRIM(RTRIM(value)) <> '';
|
|
|
|
|
|
|
|
|
|
IF @RenkList IS NOT NULL
|
|
|
|
|
INSERT INTO @SelRenk(Value)
|
|
|
|
|
SELECT DISTINCT LTRIM(RTRIM(value))
|
|
|
|
|
FROM STRING_SPLIT(@RenkList, NCHAR(31))
|
|
|
|
|
WHERE LTRIM(RTRIM(value)) <> '';
|
|
|
|
|
|
|
|
|
|
IF @Renk2List IS NOT NULL
|
|
|
|
|
INSERT INTO @SelRenk2(Value)
|
|
|
|
|
SELECT DISTINCT LTRIM(RTRIM(value))
|
|
|
|
|
FROM STRING_SPLIT(@Renk2List, NCHAR(31))
|
|
|
|
|
WHERE LTRIM(RTRIM(value)) <> '';
|
|
|
|
|
|
|
|
|
|
IF @UrunIcerigiList IS NOT NULL
|
|
|
|
|
INSERT INTO @SelUrunIcerigi(Value)
|
|
|
|
|
SELECT DISTINCT LTRIM(RTRIM(value))
|
|
|
|
|
FROM STRING_SPLIT(@UrunIcerigiList, NCHAR(31))
|
|
|
|
|
WHERE LTRIM(RTRIM(value)) <> '';
|
|
|
|
|
|
|
|
|
|
IF @FitList IS NOT NULL
|
|
|
|
|
INSERT INTO @SelFit(Value)
|
|
|
|
|
SELECT DISTINCT LTRIM(RTRIM(value))
|
|
|
|
|
FROM STRING_SPLIT(@FitList, NCHAR(31))
|
|
|
|
|
WHERE LTRIM(RTRIM(value)) <> '';
|
|
|
|
|
|
|
|
|
|
IF @DropList IS NOT NULL
|
|
|
|
|
INSERT INTO @SelDrop(Value)
|
|
|
|
|
SELECT DISTINCT LTRIM(RTRIM(value))
|
|
|
|
|
FROM STRING_SPLIT(@DropList, NCHAR(31))
|
|
|
|
|
WHERE LTRIM(RTRIM(value)) <> '';
|
|
|
|
|
|
|
|
|
|
IF @BedenList IS NOT NULL
|
|
|
|
|
INSERT INTO @SelBeden(Value)
|
|
|
|
|
SELECT DISTINCT LTRIM(RTRIM(value))
|
|
|
|
|
FROM STRING_SPLIT(@BedenList, NCHAR(31))
|
|
|
|
|
WHERE LTRIM(RTRIM(value)) <> '';
|
|
|
|
|
|
|
|
|
|
CREATE TABLE #AttrFiltered
|
|
|
|
|
(
|
|
|
|
|
ProductCode NVARCHAR(50) NOT NULL,
|
|
|
|
|
@@ -482,10 +382,10 @@ BEGIN
|
|
|
|
|
WHERE LEN(C.ProductCode) = 13
|
|
|
|
|
AND (@Kategori IS NULL OR C.ProductAtt44Desc = @Kategori)
|
|
|
|
|
AND (@UrunAnaGrubu IS NULL OR C.ProductAtt01Desc = @UrunAnaGrubu)
|
|
|
|
|
AND (NOT EXISTS (SELECT 1 FROM @SelUrunAltGrubu) OR EXISTS (SELECT 1 FROM @SelUrunAltGrubu S WHERE S.Value = C.ProductAtt02Desc))
|
|
|
|
|
AND (NOT EXISTS (SELECT 1 FROM @SelUrunIcerigi) OR EXISTS (SELECT 1 FROM @SelUrunIcerigi S WHERE S.Value = C.ProductAtt41Desc))
|
|
|
|
|
AND (NOT EXISTS (SELECT 1 FROM @SelFit) OR EXISTS (SELECT 1 FROM @SelFit S WHERE S.Value = C.ProductAtt38Desc))
|
|
|
|
|
AND (NOT EXISTS (SELECT 1 FROM @SelDrop) OR EXISTS (SELECT 1 FROM @SelDrop S WHERE S.Value = C.ProductAtt11Desc));
|
|
|
|
|
AND (@UrunAltGrubuList IS NULL OR CHARINDEX(NCHAR(31) + ISNULL(C.ProductAtt02Desc,'') + NCHAR(31), NCHAR(31) + @UrunAltGrubuList + NCHAR(31)) > 0)
|
|
|
|
|
AND (@UrunIcerigiList IS NULL OR CHARINDEX(NCHAR(31) + ISNULL(C.ProductAtt41Desc,'') + NCHAR(31), NCHAR(31) + @UrunIcerigiList + NCHAR(31)) > 0)
|
|
|
|
|
AND (@FitList IS NULL OR CHARINDEX(NCHAR(31) + ISNULL(C.ProductAtt38Desc,'') + NCHAR(31), NCHAR(31) + @FitList + NCHAR(31)) > 0)
|
|
|
|
|
AND (@DropList IS NULL OR CHARINDEX(NCHAR(31) + ISNULL(C.ProductAtt11Desc,'') + NCHAR(31), NCHAR(31) + @DropList + NCHAR(31)) > 0);
|
|
|
|
|
END
|
|
|
|
|
ELSE
|
|
|
|
|
BEGIN
|
|
|
|
|
@@ -561,10 +461,10 @@ BEGIN
|
|
|
|
|
WHERE LEN(ProductCode) = 13
|
|
|
|
|
AND (@Kategori IS NULL OR ProductAtt44Desc = @Kategori)
|
|
|
|
|
AND (@UrunAnaGrubu IS NULL OR ProductAtt01Desc = @UrunAnaGrubu)
|
|
|
|
|
AND (NOT EXISTS (SELECT 1 FROM @SelUrunAltGrubu) OR EXISTS (SELECT 1 FROM @SelUrunAltGrubu S WHERE S.Value = ProductAtt02Desc))
|
|
|
|
|
AND (NOT EXISTS (SELECT 1 FROM @SelUrunIcerigi) OR EXISTS (SELECT 1 FROM @SelUrunIcerigi S WHERE S.Value = ProductAtt41Desc))
|
|
|
|
|
AND (NOT EXISTS (SELECT 1 FROM @SelFit) OR EXISTS (SELECT 1 FROM @SelFit S WHERE S.Value = ProductAtt38Desc))
|
|
|
|
|
AND (NOT EXISTS (SELECT 1 FROM @SelDrop) OR EXISTS (SELECT 1 FROM @SelDrop S WHERE S.Value = ProductAtt11Desc));
|
|
|
|
|
AND (@UrunAltGrubuList IS NULL OR CHARINDEX(NCHAR(31) + ISNULL(ProductAtt02Desc,'') + NCHAR(31), NCHAR(31) + @UrunAltGrubuList + NCHAR(31)) > 0)
|
|
|
|
|
AND (@UrunIcerigiList IS NULL OR CHARINDEX(NCHAR(31) + ISNULL(ProductAtt41Desc,'') + NCHAR(31), NCHAR(31) + @UrunIcerigiList + NCHAR(31)) > 0)
|
|
|
|
|
AND (@FitList IS NULL OR CHARINDEX(NCHAR(31) + ISNULL(ProductAtt38Desc,'') + NCHAR(31), NCHAR(31) + @FitList + NCHAR(31)) > 0)
|
|
|
|
|
AND (@DropList IS NULL OR CHARINDEX(NCHAR(31) + ISNULL(ProductAtt11Desc,'') + NCHAR(31), NCHAR(31) + @DropList + NCHAR(31)) > 0);
|
|
|
|
|
END;
|
|
|
|
|
|
|
|
|
|
CREATE CLUSTERED INDEX IX_AttrFiltered_ProductCode ON #AttrFiltered(ProductCode);
|
|
|
|
|
@@ -704,17 +604,17 @@ Grouped AS
|
|
|
|
|
A.ItemDim2Code
|
|
|
|
|
FROM Avail A
|
|
|
|
|
INNER JOIN #AttrFiltered AF ON AF.ProductCode = A.ItemCode
|
|
|
|
|
WHERE (NOT EXISTS (SELECT 1 FROM @SelRenk) OR EXISTS (SELECT 1 FROM @SelRenk S WHERE S.Value = (CASE WHEN A.RenkAciklama <> '' THEN A.RenkAciklama ELSE A.ColorCode END)))
|
|
|
|
|
AND (NOT EXISTS (SELECT 1 FROM @SelRenk2) OR EXISTS (SELECT 1 FROM @SelRenk2 S WHERE S.Value = A.ItemDim2Code))
|
|
|
|
|
WHERE (@RenkList IS NULL OR CHARINDEX(NCHAR(31) + ISNULL((CASE WHEN A.RenkAciklama <> '' THEN A.RenkAciklama ELSE A.ColorCode END),'') + NCHAR(31), NCHAR(31) + @RenkList + NCHAR(31)) > 0)
|
|
|
|
|
AND (@Renk2List IS NULL OR CHARINDEX(NCHAR(31) + ISNULL(A.ItemDim2Code,'') + NCHAR(31), NCHAR(31) + @Renk2List + NCHAR(31)) > 0)
|
|
|
|
|
AND (
|
|
|
|
|
NOT EXISTS (SELECT 1 FROM @SelBeden)
|
|
|
|
|
@BedenList IS NULL
|
|
|
|
|
OR EXISTS (
|
|
|
|
|
SELECT 1
|
|
|
|
|
FROM Avail AB
|
|
|
|
|
WHERE AB.ItemCode = A.ItemCode
|
|
|
|
|
AND AB.ColorCode = A.ColorCode
|
|
|
|
|
AND ISNULL(AB.ItemDim2Code, '') = ISNULL(A.ItemDim2Code, '')
|
|
|
|
|
AND EXISTS (SELECT 1 FROM @SelBeden SB WHERE SB.Value = AB.ItemDim1Code)
|
|
|
|
|
AND CHARINDEX(NCHAR(31) + ISNULL(AB.ItemDim1Code,'') + NCHAR(31), NCHAR(31) + @BedenList + NCHAR(31)) > 0
|
|
|
|
|
)
|
|
|
|
|
)
|
|
|
|
|
GROUP BY A.ItemCode, A.ColorCode, A.ItemDim2Code
|
|
|
|
|
|