sql >> Databasteknik >  >> RDS >> Sqlserver

Åsidosätta alfabetisk standard ORDER BY med en UNION av 2+ tabeller?

Ett sätt

SELECT *,1 as SortOrder FROM table1  
UNION
SELECT *,2 FROM table2  
UNION
SELECT *,3 FROM table3  
UNION
SELECT *,4 FROM table4
order by SortOrder 

vad som händer är att du använder UNION, sql-servern gör sedan resultatuppsättningen distinkt, för att göra det måste den sortera tabellerna

Gör UNION ALL göra skillnad?



  1. MySQL:Varför använda VARCHAR(20) istället för VARCHAR(255)?

  2. MySQL :ersätt förekomsten av en sträng i fältet förutom den första

  3. Gruppera rader om de har överlappande tidsintervall

  4. Mysql union från flera databastabeller