If you are using SQL 2005, you might be able to make use of the ROW_NUMBER() function and convert the rows that are not equal to one to a blank. For Example: DECLARE @Yak TABLE (Empid INT, empfname VARCHAR(20), emplastname VARCHAR(20), salary MONEY)INSERT @YakSELECT 1, 'james', 'bond', 60000UNION ALL SELECT 2, 'james', 'charles', 50000UNION ALL SELECT 3, 'prince', 'charles', 79000SELECT EmpID, CASE WHEN RowNum = 1 THEN EmpFName ELSE '' END AS EmpFName, EmpLastName, SalaryFROM( SELECT *, ROW_NUMBER() OVER (PARTITION BY empfname ORDER BY empfname) AS RowNum FROM @Yak) AS Temp