Instead of trying to use UNION
I would use a temp table or temp table variable to merge the result sets
CREATE TABLE #Temp
(
)
DECLARE @position INT
SET @position = -1
WHILE(@position < 1)
BEGIN
INSERT INTO #Temp ()
SELECT * FROM mytable
SET @position = @position + 1
END
SELECT * FROM #Temp