Merge remote-tracking branch 'origin/master'

This commit is contained in:
M_Kececi
2026-03-16 00:42:35 +03:00
parent 19e67ad9f5
commit e46363a758
4 changed files with 380 additions and 140 deletions

View File

@@ -5,13 +5,63 @@ package queries
const GetProductStockAttributeOptionsQuery = `
DECLARE @Kategori NVARCHAR(100) = NULLIF(LTRIM(RTRIM(@p1)), '');
DECLARE @UrunAnaGrubu NVARCHAR(100) = NULLIF(LTRIM(RTRIM(@p2)), '');
DECLARE @UrunAltGrubu NVARCHAR(100) = NULLIF(LTRIM(RTRIM(@p3)), '');
DECLARE @Renk NVARCHAR(100) = NULLIF(LTRIM(RTRIM(@p4)), '');
DECLARE @Renk2 NVARCHAR(100) = NULLIF(LTRIM(RTRIM(@p5)), '');
DECLARE @UrunIcerigi NVARCHAR(100) = NULLIF(LTRIM(RTRIM(@p6)), '');
DECLARE @Fit NVARCHAR(100) = NULLIF(LTRIM(RTRIM(@p7)), '');
DECLARE @Drop NVARCHAR(100) = NULLIF(LTRIM(RTRIM(@p8)), '');
DECLARE @Beden NVARCHAR(100) = NULLIF(LTRIM(RTRIM(@p9)), '');
DECLARE @UrunAltGrubuList NVARCHAR(MAX) = NULLIF(LTRIM(RTRIM(@p3)), '');
DECLARE @RenkList NVARCHAR(MAX) = NULLIF(LTRIM(RTRIM(@p4)), '');
DECLARE @Renk2List NVARCHAR(MAX) = NULLIF(LTRIM(RTRIM(@p5)), '');
DECLARE @UrunIcerigiList NVARCHAR(MAX) = NULLIF(LTRIM(RTRIM(@p6)), '');
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
(
@@ -39,10 +89,10 @@ BEGIN
WHERE LEN(ProductCode) = 13
AND (@Kategori IS NULL OR ProductAtt44Desc = @Kategori)
AND (@UrunAnaGrubu IS NULL OR ProductAtt01Desc = @UrunAnaGrubu)
AND (@UrunAltGrubu IS NULL OR ProductAtt02Desc = @UrunAltGrubu)
AND (@UrunIcerigi IS NULL OR ProductAtt41Desc = @UrunIcerigi)
AND (@Fit IS NULL OR ProductAtt38Desc = @Fit)
AND (@Drop IS NULL OR ProductAtt11Desc = @Drop);
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));
END
ELSE
BEGIN
@@ -59,10 +109,10 @@ BEGIN
WHERE LEN(ProductCode) = 13
AND (@Kategori IS NULL OR ProductAtt44Desc = @Kategori)
AND (@UrunAnaGrubu IS NULL OR ProductAtt01Desc = @UrunAnaGrubu)
AND (@UrunAltGrubu IS NULL OR ProductAtt02Desc = @UrunAltGrubu)
AND (@UrunIcerigi IS NULL OR ProductAtt41Desc = @UrunIcerigi)
AND (@Fit IS NULL OR ProductAtt38Desc = @Fit)
AND (@Drop IS NULL OR ProductAtt11Desc = @Drop);
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));
END;
IF @Kategori IS NULL OR @UrunAnaGrubu IS NULL
@@ -184,12 +234,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 (@UrunAltGrubu IS NULL OR AB.UrunAltGrubu = @UrunAltGrubu)
AND (@UrunIcerigi IS NULL OR AB.UrunIcerigi = @UrunIcerigi)
AND (@Fit IS NULL OR AB.Fit = @Fit)
AND (@Drop IS NULL OR AB.DropVal = @Drop)
AND (@Renk2 IS NULL OR A.Renk2 = @Renk2)
AND (@Beden IS NULL OR A.Beden = @Beden)
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))
) X
UNION ALL
SELECT 'renk2', X.FieldValue
@@ -200,12 +250,12 @@ FROM (
WHERE A.Renk2 <> ''
AND (@Kategori IS NULL OR AB.Kategori = @Kategori)
AND (@UrunAnaGrubu IS NULL OR AB.UrunAnaGrubu = @UrunAnaGrubu)
AND (@UrunAltGrubu IS NULL OR AB.UrunAltGrubu = @UrunAltGrubu)
AND (@UrunIcerigi IS NULL OR AB.UrunIcerigi = @UrunIcerigi)
AND (@Fit IS NULL OR AB.Fit = @Fit)
AND (@Drop IS NULL OR AB.DropVal = @Drop)
AND (@Renk IS NULL OR (CASE WHEN A.RenkAciklama <> '' THEN A.RenkAciklama ELSE A.Renk END) = @Renk)
AND (@Beden IS NULL OR A.Beden = @Beden)
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))
) X
UNION ALL
SELECT 'urun_icerigi', X.FieldValue
@@ -215,6 +265,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))
) X
UNION ALL
SELECT 'fit', X.FieldValue
@@ -224,6 +275,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))
) X
UNION ALL
SELECT 'drop', X.FieldValue
@@ -233,6 +286,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))
) X
UNION ALL
SELECT 'beden', X.FieldValue
@@ -243,12 +299,12 @@ FROM (
WHERE A.Beden <> ''
AND (@Kategori IS NULL OR AB.Kategori = @Kategori)
AND (@UrunAnaGrubu IS NULL OR AB.UrunAnaGrubu = @UrunAnaGrubu)
AND (@UrunAltGrubu IS NULL OR AB.UrunAltGrubu = @UrunAltGrubu)
AND (@UrunIcerigi IS NULL OR AB.UrunIcerigi = @UrunIcerigi)
AND (@Fit IS NULL OR AB.Fit = @Fit)
AND (@Drop IS NULL OR AB.DropVal = @Drop)
AND (@Renk IS NULL OR (CASE WHEN A.RenkAciklama <> '' THEN A.RenkAciklama ELSE A.Renk END) = @Renk)
AND (@Renk2 IS NULL OR A.Renk2 = @Renk2)
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))
) X
OPTION (RECOMPILE);
`
@@ -258,13 +314,63 @@ OPTION (RECOMPILE);
const GetProductStockQueryByAttributes = `
DECLARE @Kategori NVARCHAR(100) = NULLIF(LTRIM(RTRIM(@p1)), '');
DECLARE @UrunAnaGrubu NVARCHAR(100) = NULLIF(LTRIM(RTRIM(@p2)), '');
DECLARE @UrunAltGrubu NVARCHAR(100) = NULLIF(LTRIM(RTRIM(@p3)), '');
DECLARE @Renk NVARCHAR(100) = NULLIF(LTRIM(RTRIM(@p4)), '');
DECLARE @Renk2 NVARCHAR(100) = NULLIF(LTRIM(RTRIM(@p5)), '');
DECLARE @UrunIcerigi NVARCHAR(100) = NULLIF(LTRIM(RTRIM(@p6)), '');
DECLARE @Fit NVARCHAR(100) = NULLIF(LTRIM(RTRIM(@p7)), '');
DECLARE @Drop NVARCHAR(100) = NULLIF(LTRIM(RTRIM(@p8)), '');
DECLARE @Beden NVARCHAR(100) = NULLIF(LTRIM(RTRIM(@p9)), '');
DECLARE @UrunAltGrubuList NVARCHAR(MAX) = NULLIF(LTRIM(RTRIM(@p3)), '');
DECLARE @RenkList NVARCHAR(MAX) = NULLIF(LTRIM(RTRIM(@p4)), '');
DECLARE @Renk2List NVARCHAR(MAX) = NULLIF(LTRIM(RTRIM(@p5)), '');
DECLARE @UrunIcerigiList NVARCHAR(MAX) = NULLIF(LTRIM(RTRIM(@p6)), '');
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
(
@@ -376,10 +482,10 @@ BEGIN
WHERE LEN(C.ProductCode) = 13
AND (@Kategori IS NULL OR C.ProductAtt44Desc = @Kategori)
AND (@UrunAnaGrubu IS NULL OR C.ProductAtt01Desc = @UrunAnaGrubu)
AND (@UrunAltGrubu IS NULL OR C.ProductAtt02Desc = @UrunAltGrubu)
AND (@UrunIcerigi IS NULL OR C.ProductAtt41Desc = @UrunIcerigi)
AND (@Fit IS NULL OR C.ProductAtt38Desc = @Fit)
AND (@Drop IS NULL OR C.ProductAtt11Desc = @Drop);
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));
END
ELSE
BEGIN
@@ -455,10 +561,10 @@ BEGIN
WHERE LEN(ProductCode) = 13
AND (@Kategori IS NULL OR ProductAtt44Desc = @Kategori)
AND (@UrunAnaGrubu IS NULL OR ProductAtt01Desc = @UrunAnaGrubu)
AND (@UrunAltGrubu IS NULL OR ProductAtt02Desc = @UrunAltGrubu)
AND (@UrunIcerigi IS NULL OR ProductAtt41Desc = @UrunIcerigi)
AND (@Fit IS NULL OR ProductAtt38Desc = @Fit)
AND (@Drop IS NULL OR ProductAtt11Desc = @Drop);
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));
END;
CREATE CLUSTERED INDEX IX_AttrFiltered_ProductCode ON #AttrFiltered(ProductCode);
@@ -598,17 +704,17 @@ Grouped AS
A.ItemDim2Code
FROM Avail A
INNER JOIN #AttrFiltered AF ON AF.ProductCode = A.ItemCode
WHERE (@Renk IS NULL OR (CASE WHEN A.RenkAciklama <> '' THEN A.RenkAciklama ELSE A.ColorCode END) = @Renk)
AND (@Renk2 IS NULL OR A.ItemDim2Code = @Renk2)
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))
AND (
@Beden IS NULL
NOT EXISTS (SELECT 1 FROM @SelBeden)
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 AB.ItemDim1Code = @Beden
AND EXISTS (SELECT 1 FROM @SelBeden SB WHERE SB.Value = AB.ItemDim1Code)
)
)
GROUP BY A.ItemCode, A.ColorCode, A.ItemDim2Code