Pergunta

Aqui está uma pergunta boba. Digamos que eu tenha uma consulta que produz para uma caixa de listagem e produz valores para três lojas

Store A     18
Store B     32
Store C     54

Agora, se eu pedir na declaração SQL, a única coisa que fará é descer ou ascender alfabética, mas eu quero uma certa ordem (apenas porque eles querem uma certa ordem) ... então existe uma maneira de adicionar algo para o SQL para obter

Store B
Store C
Store A

ou seja, basicamente remar por linha o que eu quero. obrigado!

Foi útil?

Solução

Adicione um campo numérico, Sequenciador, para a tabela que contém os nomes da loja. Use o Sequenciador valores para determinar sua ordem de classificação.

SELECT sequencer, store_name FROM YourTable ORDER BY sequencer;

Na caixa de listagem, defina a largura da coluna = 0 para o Sequenciador coluna.

Ou simplesmente, como @dscarr sugeriu, não inclua Sequenciador no SELECT lista de campo, mas apenas inclua -a no ORDER BY ...

SELECT store_name FROM YourTable ORDER BY sequencer;

Outras dicas

Você pode fazer 1 de 2 coisas.

Use a TROCAR Stames, algo como

SELECT Table1.Store, 
       Table1.Val, 
       Switch([Store]="StoreB",1,[Store]="StoreC",2,[Store]="StoreA",3) AS Expr1
FROM Table1
ORDER BY Switch([Store]="StoreB",1,[Store]="StoreC",2,[Store]="StoreA",3);

Ou use uma tabela de pedidos secundários, que armazena os valores dos nomes da loja e um pedido por valor.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top