HiI'm trying to insert rows into a table using both union and order by (see below) but am running into an error 'Incorrect syntax near the keyword 'Union'.' Removing the order by obviates the problem but does not produce the data I am afterThere is no problem creating a view but doing a simple select from that takes an age cf selecting from a tableAny suggestions appreciatedinsert into tblTempSELECT top 1 tblPlayers.PLAYERID, Count(tblGoals.TIME) AS Tot,'1993/4' as Season,CASE when tblPlayers.FIRSTNAME is null then tblPlayers.LASTNAME else tblPlayers.FIRSTNAME + ' ' + tblPlayers.LASTNAME end as nameFROM (((tblMatch INNER JOIN tblMatchTeam ON (tblMatch.MATCHID = tblMatchTeam.MATCHID) AND (tblMatch.MATCHID = tblMatchTeam.MATCHID)) INNER JOIN (tblPlayer_Match INNER JOIN tblGoals ON (tblPlayer_Match.PLAYER_MATCH = tblGoals.PLAYER_MATCH) AND (tblPlayer_Match.PLAYER_MATCH = tblGoals.PLAYER_MATCH)) ON tblMatchTeam.TEAMMATCHID = tblPlayer_Match.TEAMMATCHID) INNER JOIN tblPlayerClub ON tblPlayer_Match.PLAYER_TEAM = tblPlayerClub.PLAYER_TEAM) INNER JOIN tblPlayers ON tblPlayerClub.PLAYERID = tblPlayers.PLAYERIDWHERE tblMatch.DATE>'8/1/1993' and tblMatch.DATE < RIGHT('0' + CAST(Month(getDate()) AS varchar(3)), 2)+'/'+RIGHT('0' + CAST(Day(getDate()) AS varchar(3)), 2)+'/'+CAST(Year(getDate())-16 AS varchar(4))GROUP BY tblPlayers.PLAYERID,tblPlayers.FIRSTNAME,tblPlayers.LASTNAMEORDER BY Count(tblGoals.TIME) DESCUnionSELECT top 1 tblPlayers.PLAYERID, Count(tblGoals.TIME) AS Tot,'1992/3' as Season,CASE when tblPlayers.FIRSTNAME is null then tblPlayers.LASTNAME else tblPlayers.FIRSTNAME + ' ' + tblPlayers.LASTNAME end as nameFROM (((tblMatch INNER JOIN tblMatchTeam ON (tblMatch.MATCHID = tblMatchTeam.MATCHID) AND (tblMatch.MATCHID = tblMatchTeam.MATCHID)) INNER JOIN (tblPlayer_Match INNER JOIN tblGoals ON (tblPlayer_Match.PLAYER_MATCH = tblGoals.PLAYER_MATCH) AND (tblPlayer_Match.PLAYER_MATCH = tblGoals.PLAYER_MATCH)) ON tblMatchTeam.TEAMMATCHID = tblPlayer_Match.TEAMMATCHID) INNER JOIN tblPlayerClub ON tblPlayer_Match.PLAYER_TEAM = tblPlayerClub.PLAYER_TEAM) INNER JOIN tblPlayers ON tblPlayerClub.PLAYERID = tblPlayers.PLAYERIDWHERE tblMatch.DATE>'8/1/1992' and tblMatch.DATE < RIGHT('0' + CAST(Month(getDate()) AS varchar(3)), 2)+'/'+RIGHT('0' + CAST(Day(getDate()) AS varchar(3)), 2)+'/'+CAST(Year(getDate())-17 AS varchar(4))GROUP BY tblPlayers.PLAYERID,tblPlayers.FIRSTNAME,tblPlayers.LASTNAMEORDER BY Count(tblGoals.TIME) DESCGOAndrew Clark