31 messaggi dal 24 luglio 2003
Sto realizzando un sito che elenca degli hotel in base anche alla loro classificazione (5 stelle, 4 ...). Questo valore verrà inserito all'interno di una colonna.
Faccio un semplice esempio in modo da chiarire meglio la situazione:

NOME CITTA INDIRIZZO TIPOLOGIA
Hotel Bingo - Roma - Via Nazionale - 5 stelle
Hotel Stella - Milano - via Roma - 3 stelle
Hotel Pinco Pallino - Roma - via Vai - 4 stelle
ecc...

Ora avrei bisogno di elencare gli hotel in base alla loro classificazione dal + lussuoso sino ai 2 stelle.
Come fare?
E' possibile con l'istruzione orber by (nome colonna)?
1.976 messaggi dal 27 luglio 2005
Contributi
salve,
si, la clausola ORDER BY nome_colonna provvede proprio all'uopo...
poi, in base al tipo di dato della colonna stessa devi specificare anche la modalita' di ordinamento, che puo' essere crescente (ASC) o decrescente (DESC)...
se il tipo di dato e' numerico ti basta ORDER BY TIPOLOGIA DESC;
se e' alfanumerico invece va identificato "come" la "stringa" risulterebbe ordinata... "5 Stelle" risulta "maggiore" (inteso come ordinamento ascendente di tutti i caratter) rispetto a "4 stelle"..
quindi, tecnicamente,
SET NOCOUNT ON;
USE tempdb;
GO
DECLARE @t TABLE (tipo varchar(20));
INSERT INTO @t
  VALUES ('2 stelle'), ('3 stelle'), ('1 stella'), ('3 stelle superiore'), ('5 stelle'), ('4 stelle superiore'), ('4 stelle'), ('5 stelle superiore');
SELECT *
  FROM @t t
  ORDER BY t.tipo DESC;
--------
tipo
--------------------
5 stelle superiore
5 stelle
4 stelle superiore
4 stelle
3 stelle superiore
3 stelle
2 stelle
1 stella

funziona, ma se ad esempio esistesse un "5 stelle ZOO" (inteso come un 5 stelle pessimo) l'ordinamento non sarebbe corretto, producendo come risultato
SET NOCOUNT ON;
USE tempdb;
GO
DECLARE @t TABLE (tipo varchar(20));
INSERT INTO @t
  VALUES ('2 stelle'), ('3 stelle'), ('1 stella'), ('3 stelle superiore'), ('5 stelle'), ('4 stelle superiore'), ('4 stelle'), ('5 stelle superiore')
  , ('5 stelle ZOO');
SELECT *
  FROM @t t
  ORDER BY t.tipo DESC;
-----------
tipo
--------------------
5 stelle ZOO
5 stelle superiore
5 stelle
4 stelle superiore
4 stelle
3 stelle superiore
3 stelle
2 stelle
1 stella


saluti

Andrea Montanari
http://www.hotelsole.com - http://www.hotelsole.com/asql/index.php

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.