Hi John,
So far i have this.
DECLARE @CarName nvarchar(max)
DECLARE @carage int
DECLARE @TyreId int
DEclare @TyreType int
DECLARE @Zipcode int
SET @TyreId = 65
SET @CarName = 'CITROEN'
SET @carage = 2002
SET @Zipcode = 2770
SELECT
[TyreId]
,[CarId]
,[RegionsNr]
,[CarAgeGroup]
FROM [dbo].[Partner_Campaigns]
WHERE
(
TyreId = (
CASE
WHEN NOT(TyreId) IS NULL THEN @TyreId
ELSE NULL
END
)
OR
CarId = (
CASE
WHEN NOT(CarId) IS NULL THEN (SELECT id FROM Partner_CarModels WHERE Make like '%' + @CarName + '%')
ELSE NULL
END
)
OR
RegionsNr = (
CASE
WHEN NOT(RegionsNr) IS NULL THEN (SELECT DISTINCT(Regionsnr) FROM Partner_Regioner_Kommuner_Postnr WHERE Postnr=@Zipcode)
ELSE NULL
END
)
OR
CarAgeGroup = (
CASE
WHEN NOT(CarAgeGroup) IS NULL THEN
isnull((
CASE
WHEN (YEAR(GETDATE()) - CAST(@CarAge AS Int)) < 6 THEN 1
WHEN (YEAR(GETDATE()) - CAST(@CarAge AS Int)) > 5 THEN 2
ELSE 0
END
),
NULL
)
ELSE NULL
END
)
)