this is what prev poster suggestedSELECT am.Menu_NM,MAX(CASE WHEN p.Permission_NM='READ' THEN 'Y'ELSE NULL END) AS [READ],MAX(CASE WHEN p.Permission_NM='CREATE' THEN 'Y'ELSE NULL END) AS [CREATE],MAX(CASE WHEN p.Permission_NM='UPDATE' THEN 'Y'ELSE NULL END) AS [UPDATE],MAX(CASE WHEN p.Permission_NM='DELETE' THEN 'Y'ELSE NULL END) AS [DELETE],MAX(CASE WHEN p.Permission_NM='SEARCH' THEN 'Y'ELSE NULL END) AS [SEARCH]FROM TEmployee e (NOLOCK)INNER JOIN TEmployee_System_Role esr (NOLOCK)ON e.Employee_NBR = esr.Employee_NBRINNER JOIN TSystem_Role sr (NOLOCK)ON esr.Role_NBR = sr.Role_NBRINNER JOIN TSystem_Role_Permission srp (NOLOCK)ON sr.Role_NBR = srp.Role_NBRINNER JOIN TPermission p (NOLOCK)ON srp.Permission_NBR = p.Permission_NBRINNER JOIN TApplication_Menu am (NOLOCK)ON p.App_Menu_NBR = am.App_Menu_NBRWHERE e.Employee_NBR = @User_NBRAND (am.App_Menu_NBR = @Page_NBR OR @Page_NBR = 0)GROUP BY am.Menu_NM