try this, it returns 3 rows from each table:set nocount ondeclare @ColumnName varchar(50), @StageID int, @Cmd varchar(8000)set @ColumnName = 'Status'-- stage the TableName, etc of each table that has the columndeclare @Stage table (StageID int identity(1,1), TableName varchar(100), ColumnName varchar(100), DataType varchar(100))insert into @Stage (TableName, ColumnName, DataType)select st.name, @ColumnName, stt.namefrom sys.columns sc join sys.tables st on sc.object_id = st.object_idjoin sys.types stt on sc.system_type_id = stt.system_type_idwhere is_ms_shipped = 0 and sc.name = @ColumnName-- create temp table to hold select resultscreate table #Result (TableName varchar(100), DataType varchar(100), RowValue varchar(100))-- loop through, construct insert statements for first 3 rows of each tableselect @StageID = min(StageID) from @Stagewhile @StageID is not nullbegin select @Cmd = 'set rowcount 3 insert into #Result select ''' + TableName + ''', ''' + DataType + ''', cast(' + ColumnName + ' as varchar(100)) from ' + TableName + ' (nolock) set rowcount 0' from @Stage where StageID = @StageID --print @Cmd exec(@Cmd) select @StageID = min(StageID) from @Stage where StageID > @StageIDend-- return resultsselect * from #Result-- clean updrop table #ResultNathan Skerl