yup after secong select query or wrap the union inside a derived table and order outsideSELECT *FROM(SELECT IDInfo_PianoDeiConti as IDConto, Descrizione, (CASE WHEN Patrimoniale=1 THEN 'Conto Patrimoniale' ELSE 'Conto Economico' END) as TipoConto, 0 as TipologiaFROM PianoDeiContiWHERE Livello = 3 and Descrizione like '1%' AND IDInfo_PianoDeiConti_Nome = 2 UNION ALL SELECT IDInfo_Clienti_Fornitori_Agenti as IDConto, Cliente as Descrizione,(CASE WHEN Tipo='C' THEN 'Cliente' WHEN Tipo='F' THEN 'Fornitore' ELSE 'Agente' END) as Tipoconto,1 as Tipologia FROM Clienti_Fornitori_Agenti WHERE Cliente like '1%' )torder by case when Tipologia=0 then Patrimoniale else Descrizione end