are you using union or union all? if yes it will always take column names from first result set. Can i ask what you're exact requirement is?. If you're sure under any condition you'll have only single resultset out of table1 or table2 then you can return them likeSELECT col1,col2,col3,cast(null as <datatype of col4>) AS col4,cast(null as <datatype of col5>) AS col5,cast(null as <datatype of col6>) AS col6from table1union allSELECT null,null,null,col4,col5,col6from table2
etc------------------------------------------------------------------------------------------------------SQL Server MVPhttp://visakhm.blogspot.com/