• This should do the work for you

    SELECTCASE WHEN C.active_flag = 1 THEN 'Active' ELSE 'Inactive' END AS active_flag,

    C.name, C.company_code,

    SUM( CASE WHEN P.active_flag = 1 AND P.unregister_flag = 0 THEN 1 ELSE 0 END ) AS active_users,

    SUM( CASE WHEN P.active_flag = 1 AND P.unregister_flag = 1 THEN 1 ELSE 0 END ) AS new_users,

    SUM( CASE WHEN P.active_flag = 0 THEN 1 ELSE 0 END ) AS inactive_users,

    C.test_company_flag, C.parent_company_flag

    FROMdbo.company AS C

    LEFT OUTER JOINdbo.person AS P ON C.company_code = P.company_code

    GROUP BY CASE WHEN C.active_flag = 1 THEN 'Active' ELSE 'Inactive' END,

    C.name, C.company_code, C.test_company_flag, C.parent_company_flag


    Kingston Dhasian

    How to post data/code on a forum to get the best help - Jeff Moden
    http://www.sqlservercentral.com/articles/Best+Practices/61537/