sql >> Databasteknik >  >> RDS >> Sqlserver

Hur sorterar jag i den ordning som anges i SQL Server?

Här är en in-line-strategi

Exempel

Declare @List varchar(max)='212345, 312345, 145687, 658975, 256987, 365874, 568974, 124578, 125689'

Select A.AccountNumber 
      ,A.EndDate
 From  Accounts A
 Join (
        Select RetSeq = Row_Number() over (Order By (Select null))
              ,RetVal = v.value('(./text())[1]', 'int')
        From  (values (convert(xml,'<x>' + replace(@List,',','</x><x>')+'</x>'))) x(n)
        Cross Apply n.nodes('x') node(v)
      ) B on A.AccountNumber = B.RetVal
 Order By B.RetSeq
RetSeq  RetVal
1       212345
2       312345
3       145687
4       658975
5       256987
6       365874
7       568974
8       124578
9       125689


  1. Oracle Data Change Notification Timeout och arbetsflöde

  2. Har Oracle en motsvarighet till SQL Servers tabellvariabler?

  3. Hur CURDATE() fungerar i MariaDB

  4. Hur man får i en variabel värdet av valet av en Select/Drop Down Meny PHP eller HTML