• 2 possible things

    The query is returning multiple rows, and the 'N' is being returned because of the last row.

    OR/AND

    Your performing a Left Join,

    But you referencing T2.[Date Period] in your Where clause effectively makings it an inner join.

    Unless the the value for Application ID and Server Name are NULL in the T2 table It will never evaluate to 'Y'

    This is why we need sample data and DDL which would allow us to see these things and provide a better answer.

    SELECT

    T2.[Application ID]

    , T2.[ServerName]

    ,[TB Billed This Month]

    ,CASE WHEN T2.[Application ID] IS NOT NULL AND T2.[ServerName] IS NOT NULL AND [TB Billed This Month] <> 0 THEN 'Y' ELSE 'N' END

    FROM TableName1 T1

    LEFT JOIN TableName2 T2 ON (T1.[Application ID] = T2.[Application ID]

    AND T1.[ServerName] = T2.[ServerName]) WHERE T2.[Data Period] = 'September 2012'