• 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

    )