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

Hvordan sorterer man i rækkefølge som indtastet i SQL Server?

Her er en in-line tilgang

Eksempel

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. Henter ukendt primær nøgle til tabellen, mens ID'et er der

  2. Duplikere en MySQL-tabel, indekser og data

  3. SQL, der kombinerer to kolonner til en variabel

  4. Laravel - Ugyldigt parameternummer:parameter blev ikke defineret