Hi John,
Yes COALESCE is the way.
Thanks a lot!!
Changed to this and it works perfect.
DECLARE @CarName nvarchar(max)
DECLARE @carage int
DECLARE @TyreId int
DEclare @TyreType int
DECLARE @Zipcode int
DECLARE @CarId int
DECLARE @RegionId int
SET @TyreId = 65
SET @CarName = 'CITROEN'
SET @carage = 2002
SET @Zipcode = 2770
SELECT @CarId = (SELECT id FROM Partner_CarModels WHERE Make like '%' + @CarName + '%')
SELECT @RegionId = (SELECT DISTINCT(Regionsnr) FROM Partner_Regioner_Kommuner_Postnr WHERE Postnr=@Zipcode)
SELECT
campaignname,
[TyreId]
,[CarId]
,[RegionsNr]
,[CarAgeGroup]
FROM [dbo].[Partner_Campaigns]
WHERE
COALESCE(TyreId, @TyreId) = @TyreId
AND
COALESCE(CarId, @CarId) = @CarId
AND
COALESCE(RegionsNr, @RegionId) = @RegionId
AND
COALESCE(CarAgeGroup,
(
CASE
WHEN (YEAR(GETDATE()) - CAST(@CarAge AS Int)) < 6 THEN 1
WHEN (YEAR(GETDATE()) - CAST(@CarAge AS Int)) > 5 THEN 2
END
)
) = (
CASE
WHEN (YEAR(GETDATE()) - CAST(@CarAge AS Int)) < 6 THEN 1
WHEN (YEAR(GETDATE()) - CAST(@CarAge AS Int)) > 5 THEN 2
END
)