Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Garantiert UNION ALL die Reihenfolge der Ergebnismenge

Es gibt keine inhärente Reihenfolge, Sie müssen ORDER BY verwenden . Für Ihr Beispiel können Sie dies einfach tun, indem Sie eine SortOrder hinzufügen zu jedem SELECT. Dadurch werden die Datensätze in der gewünschten Reihenfolge aufbewahrt:

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

Sie können die Bestellung nicht garantieren, es sei denn, Sie geben mit der Anfrage ausdrücklich eine Bestellung an.