CREATE TABLE #tempA(...) CREATE TABLE #tempB(...) ------------------------------------ INSERT INTO #tempB SELECT FROM HeadData LEFT JOIN ... LEFT JOIN ... LEFT JOIN ... ------------------------------------ INSERT INTO #tempA SELECT A,B,C,D, ..., AB.*, BB.* FROM SomeTable STable LEFT JOIN #tempB ON ... LEFT JOIN ... LEFT JOIN ... INNER JOIN ... LEFT JOIN ... WHERE BB.Value IS NULL AND ... AND ... AND ... AND ... AND ... ------------------------------------------------------------ SET @sql = 'SELECT ' + @FieldList + ' FROM #tempA ' SET @sql = @sql +'GROUP BY ' + @FieldList EXEC sp_Executesql @sql