Personalizzare l’ordinamento di una query in SQL Server 2005 portando, in cima al risultato, il record col campo di ricerca uguale alla chiave. 16 Maggio 2008
Posted by gianfrasoft in Transact SQL.Tags: alla, campo di ricerca, chiave., cima, ordinamento, Personalizzare, query, risultato, SQL Server 2005, uguale
trackback
Nell’ambito di una query di ricerca che, ad esempio, utilizza l’operatore LIKE vogliamo ottenere un risultato ordinato: per far ciò facciamo uso dell’operatore ORDER BY in questo modo:
SELECT * FROM Tabella WHERE Tabella.Campo1 LIKE '%CHIAVE%' ORDER BY Tabella.Campo1
Se talora la chiave coincide esattamente col campo sul quale stiamo effettuando la ricerca, ovvero si verifica che in almeno un record Tabella.Campo1 = ‘CHIAVE’, possiamo ottenere che il record che la contiene venga posizionato in testa alla query di ricerca sfruttando la clausaola ORDER BY CASE di SQL Server 2005 in questo modo:
SELECT * FROM Tabella WHERE Tabella.Campo1 LIKE '%CHIAVE%' ORDER BY CASE WHEN Tabella.Campo1 = 'CHIAVE' THEN 1 ELSE 2 END, Tabella.Campo1
L’esempio è facilmente adattabile all’utilizzo con altri operatori.
Commenti»
No comments yet — be the first.