This one?
DECLARE @dep TABLE(TableName varchar(10), ObjectType varchar(30), [Dependent] varchar(10), OnTable varchar(10))
INSERT INTO @dep
SELECT 'Table1', 'Table', NULL, 'Table1' union all
SELECT 'Table2', 'Table', NULL, 'Table1' union all
SELECT 'Table3', 'Table', NULL, 'Table1' union all
SELECT 'Sp1', 'Storedproc', 'Yes', 'Table1' union all
SELECT 'Sp1', 'Storedproc', 'Yes', 'Table2' union all
SELECT 'Sp1', 'Storedproc', 'Yes', 'Table3' union all
SELECT 'Sp1', 'Storedproc', 'Yes', 'View1' union all
SELECT 'Sp1', 'Storedproc', 'Yes', 'View2'
SELECT tablename, STUFF((SELECT ',' + OnTable FROM @dep d2 WHERE d1.TableName = d2.TableName FOR XML PATH('')),1,1, '') AS depObjects
FROM @dep d1
WHERE Tablename != OnTable
GROUP BY tablename
OUTPUT:
tablename depObjects
Sp1 Table1,Table2,Table3,View1,View2
Table2 Table1
Table3 Table1
--
Chandu