Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

alex_tp

Order By automático quando usa IN

Recommended Posts

Confiram a instrução SQL:

 

SELECT NRSEQ_PRODUTO_PROD, DS_NOME_PROD, DS_FOTO_FOTO, NR_IDENTIFICA_FOTOFROM PRODUTO_PROD, FOTOPRODUTO_FOTOWHERE NRSEQ_PRODUTO_PROD IN (14,16,15,19,12) And NRSEQ_PRODUTO_PROD=NRSEQ_PRODUTO_FOTO And NR_IDENTIFICA_FOTO=1

 

A linha

WHERE NRSEQ_PRODUTO_PROD IN (14,16,15,19,12)
traz para mim somente os produtos que tiverem o Número Sequencial nos parâmetros do "IN"

 

O problema é que quando eu faço a listagem é ordenado para:

 

12

14

15

16

19

 

Quando na verdade deveria trazer da maneira que foi passado no parâmetro IN:

 

14

16

15

19

12

 

 

Alguém sabe como proceder para que isso seja feito?

 

Eu tenho que dizer para função que não ordene automaticamente, ou que se fizer, ordene pela ordem dos elementos que estão no parâmetro IN.

 

Valeu!

Compartilhar este post


Link para o post
Compartilhar em outros sites

hum.. desconheço hein... mas caso este seja fechado esta quantidade de produtos somente e sempre fixo, dá pra fazer uma gambiarra...

 

SELECT (CASE NRSEQ_PRODUTO_PROD  WHEN 14 THEN 1WHEN 16 THEN 2WHEN 15 THEN 3WHEN 19 THEN 4WHEN 12 THEN 5ELSE 99 END ) ORDENADOR,NRSEQ_PRODUTO_PROD, DS_NOME_PROD, DS_FOTO_FOTO, NR_IDENTIFICA_FOTOFROM PRODUTO_PROD, FOTOPRODUTO_FOTOWHERE NRSEQ_PRODUTO_PROD IN (14,16,15,19,12) And NRSEQ_PRODUTO_PROD=NRSEQ_PRODUTO_FOTO And NR_IDENTIFICA_FOTO=1ORDER BY ORDENADOR

;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.