If null return 0
===

I am trying to modify this query to return a row with '0' printed in either one or all of the rows when no data is returned. I've tried using ISNULL() but I am not getting anywhere.

    SELECT DISTINCT "SEM_AGENT"."DELETED"
      ,"PATTERN"."VERSION" 
      ,"PATTERN"."PATTERNDATE"
      ,"SEM_AGENT"."AGENT_VERSION"
      ,"SEM_CLIENT"."COMPUTER_NAME" "Computer Name"
      , "SEM_COMPUTER"."OPERATION_SYSTEM" "Operation System"
      ,dateadd(s,convert(bigint,"SEM_AGENT"."CREATION_TIME")/1000,'01-01-1970 00:00:00')    
        CREATION_DTTM
      , dateadd(s,convert(bigint,"SEM_AGENT"."LAST_UPDATE_TIME")/1000,'01-01-1970  00:00:00')  Lastupdatetime
      , DATEADD(s, convert(bigint,LAST_SCAN_TIME)/1000, '01-01-1970 00:00:00')"Last Scan Time"
      , "PATTERN"."PATTERNDATE" "Pattern Date"
      , "SEM_CLIENT"."USER_NAME" "User Name"
      , "V_SEM_COMPUTER"."IP_ADDR1_TEXT" "IP Address"
      , "IDENTITY_MAP"."NAME" "Group Name"
    FROM (((("SEM_AGENT" "SEM_AGENT" INNER JOIN "SEM_CLIENT" "SEM_CLIENT" 
      ON (("SEM_AGENT"."COMPUTER_ID"="SEM_CLIENT"."COMPUTER_ID") 
      AND ("SEM_AGENT"."DOMAIN_ID"="SEM_CLIENT"."DOMAIN_ID")) 
      AND ("SEM_AGENT"."GROUP_ID"="SEM_CLIENT"."GROUP_ID")) INNER JOIN "SEM_COMPUTER"   "SEM_COMPUTER" 
      ON (("SEM_AGENT"."COMPUTER_ID"="SEM_COMPUTER"."COMPUTER_ID") 
      AND ("SEM_AGENT"."DOMAIN_ID"="SEM_COMPUTER"."DOMAIN_ID")) 
      AND ("SEM_AGENT"."DELETED"="SEM_COMPUTER"."DELETED")) INNER JOIN "PATTERN" "PATTERN" 
      ON "SEM_AGENT"."PATTERN_IDX"="PATTERN"."PATTERN_IDX") INNER JOIN "IDENTITY_MAP" "IDENTITY_MAP" 
      ON "SEM_CLIENT"."GROUP_ID"="IDENTITY_MAP"."ID") INNER JOIN "V_SEM_COMPUTER" "V_SEM_COMPUTER" 
      ON "SEM_COMPUTER"."COMPUTER_ID"="V_SEM_COMPUTER"."COMPUTER_ID" 
      AND "SEM_AGENT"."DELETED"=0
    WHERE Pattern.Patterndate < (select max(Patterndate) -2 from Pattern)
    AND SEM_COMPUTER.OPERATION_SYSTEM NOT LIKE '%2000%'
    ORDER BY "Computer Name"