• Just initialize the string with that query, like so:

    Declare @loopYrbeg int

    Declare @loopYrend int

    Declare @tablename sysname

    Declare @SQL varchar(MAX)

    Set @loopYrbeg = 2007

    Set @sql = 'select * from tableCurrent ' + char(10) +

    'WHERE BRANCHID=''950'' AND (DISC_DTE IS NULL OR DISC_DTE > 20070630)' + char(10) +

    'union' + char(10);

    While @loopYrbeg < year( getdate() )

    begin

    Set @loopYrend = @loopYrbeg + 1;

    Set @tablename = 'Table_' + CONVERT(varchar(4), @loopYrbeg) + '_' + CONVERT(varchar(4), @loopYrend);

    Set @sql = @sql + 'select * from ' + @tablename +char(10)+

    'WHERE BRANCHID=''950'' AND (DISC_DTE IS NULL OR DISC_DTE > 20070630)' + char(10) +

    'union' + char(10);

    Set @loopYrbeg = @loopYrbeg + 1;

    end

    set @SQL = left(@sql, LEN(@sql) - 6);

    print (@sql);

    ______________________________________________________________________________
    How I want a drink, alcoholic of course, after the heavy lectures involving quantum mechanics.