• Here's an alternative:

    
    
    IF EXISTS
    (
    SELECT *
    FROM Clients C
    INNER JOIN InvoiceHeader I
    ON I.ClientID=C.ClientID
    INNER JOIN Addresses A
    ON A.ClientID=C.ClientID
    WHERE I.InvoiceNr=@InvoiceNr
    AND A.PrimaryAddr=1
    )
    BEGIN
    SELECT COALESCE(LTRIM(COALESCE(Salutation,'') + ' ' + FName + ' ' + LName), BusinessName) AS ClientName, A.* FROM Clients C
    INNER JOIN InvoiceHeader I
    ON I.ClientID=C.ClientID
    INNER JOIN Addresses A
    ON A.ClientID=C.ClientID
    WHERE I.InvoiceNr=@InvoiceNr
    AND A.PrimaryAddr=1
    END
    ELSE BEGIN
    SELECT COALESCE(LTRIM(COALESCE(Salutation,'') + ' ' + FName + ' ' + LName), BusinessName) AS ClientName, A.*
    FROM Clients C
    INNER JOIN InvoiceHeader I
    ON I.ClientID=C.ClientID
    INNER JOIN Addresses A
    ON A.ClientID=C.ClientID
    WHERE I.InvoiceNr=@InvoiceNr
    AND A.AddrTypeID=@BillingAddressID
    END

    HTH,

    Jay