E' possibile mantenere l'ordine con il costrutto WHERE IN () ???

martedì 25 agosto 2009 - 12.21

livio Profilo | Newbie


Ciao a tutti,


se in una query uso il costrutto


SELECT....

WHERE ID IN ('12','18','3')


E' possibile fare in modo che i record mantengano l'ordine passato nella in quindi prima il record con id 12 poi 18 e poi 3???


Grazie Livio

alx_81 Profilo | Guru

>Ciao a tutti,
Ciao

>E' possibile fare in modo che i record mantengano l'ordine passato
>nella in quindi prima il record con id 12 poi 18 e poi 3???
>WHERE ID IN ('12','18','3')
ORDER BY
CASE
WHEN ID = '12' THEN 1
WHEN ID = '18' THEN 2
WHEN ID = '3' THEN 3
ELSE
999
END

>Grazie Livio
di nulla!

--

Alessandro Alpi | SQL Server MVP

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org

livio Profilo | Newbie


Si sicuramente è una possibilità, ma siccome costruisco la query in maniera dinamica in un modo assi complesso non c'e' qualche altra strada più semplice :(

Ma mi sa che non ci sono tante possibilità!


Grazie ancora!

alx_81 Profilo | Guru

>Si sicuramente è una possibilità, ma siccome costruisco la query
>in maniera dinamica in un modo assi complesso non c'e' qualche
>altra strada più semplice :(
o aggiungi un campo ordinamento o componi dinamicamente anche la case nella order by.
Non mi viene altro..
--

Alessandro Alpi | SQL Server MVP

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5