Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

UNION ALL garantisce l'ordine del set di risultati

Non c'è un ordine intrinseco, devi usare ORDER BY . Per il tuo esempio puoi farlo facilmente aggiungendo un SortOrder a ogni SELEZIONA. Questo manterrà quindi i record nell'ordine desiderato:

SELECT 'O', 1 SortOrder
UNION ALL
SELECT 'R', 2
UNION ALL
SELECT 'D', 3
UNION ALL
SELECT 'E', 4
UNION ALL
SELECT 'R', 5
ORDER BY SortOrder

Non puoi garantire l'ordine a meno che tu non fornisca specificamente un ordine con la query.