Merhaba Arkaşdaşlar
Dinamic filtre olusturmayla ilgili Sorunum Var;
Birden Çok Seçimli checkboxlarım var
Örnek Senaryo:
Marka Modelden BMC BMW VE AUDI SECİNCE varlik türü alanım bu modellerin türlerine göre yeniden oluşuyor. (RtESİM 1)
Lakin ;
Burada ( BMC BMW VE AUDI ) Seçiliyken bi üstten binek>Otomobil deyince yine ayni işlemi yapıyor (resim 2)
Klan marka bmw ve audi.
Ama Ticari Kamyon Seçince veya kamyonet secince giden o bmc gelmiyor.(resim 3)
SORUNUN SQL DE oldugunu düşünüyorum. Mantıgını bir türlü kuramadım.Gelmeme Sebebi ticari ve binek +audi bmw filtrelemsi bunları ayrı ayrı nasıl yapabilirim
Yapmak İstedigim filtreleme hepsiburada vatan ,avva gibi sistemlerdeki gibi.


resim 1


resim 2

resim 3


SQL KOD:


ALTER PROCEDURE [dbo].[SP_VARLIK_FILTRELE_LISTELE]

@MARKATUR NVARCHAR(1000),@VARLIKTUR NVARCHAR(1000), @LOKASYONID NVARCHAR(500), @DILID INT, @FIRMAID INT

AS
BEGIN

SELECT
V.VarlikID ID,
V.VarlikAdi Adi,
K.KullaniciAdi KullaniciAdi,
K.KullaniciID Kullanici_ID,
V.VarlikLokasyonID LokasyonID,
L.LokasyonAdi Lokasyon,
STUFF(REPLACE(REPLACE((SELECT '>'+M_Tur_AD FROM [dbo].[Fn_MARKA_TUR_YUKARI](V.VarlikModelID) ORDER BY M_ID FOR XML PATH('')),'>','>'),'
',''),1,1,'') AS M_Tur_Adi,
V.VarlikVarlikTurID V_Tur_ID,
STUFF(REPLACE(REPLACE((SELECT '>'+V_Tur_AD FROM [dbo].[Fn_V_TUR_YUKARI](V.VarlikVarlikTurID,@DILID,@FIRMAID) ORDER BY V_ID FOR XML PATH('')),'>','>'),'
',''),1,1,'')V_Tur_Ad i,
V.VarlikModelID M_Tur_ID,
'' URL

FROM Varlik V
INNER JOIN Kullanici K ON K.KullaniciID=V.VarlikKayitKullaniciID
INNER JOIN Lokasyon L ON L.LokasyonID=V.VarlikLokasyonID

WHERE
((@LOKASYONID IS NULL OR V.VarlikLokasyonID IN(SELECT * FROM Split1(@LOKASYONID)))
and
(@MARKATUR IS NULL OR V.VarlikModelID IN(SELECT * FROM Split1(@MARKATUR)))
and
(@VARLIKTUR IS NULL OR V.VarlikVarlikTurID IN (SELECT * FROM Split1(@VARLIKTUR)))
)
AND V.VarlikAktif=1 AND K.KullaniciFirmaID=@FIRMAID

ORDER BY V.VarlikKayitTarih DESC