[firebase-br] Duvida em select
Carlos H. Cantu
listas em warmboot.com.br
Seg Abr 27 16:16:09 -03 2015
Em SQL, a única forma de se garantir a ordem de um resultset é usando
Order by.
Da forma que você escreveu, o Firebird irá retorar em ordem natural,
ou seja, conforme ele for encontrando os registros, vai retornando...
ou seja, não há como garantir a ordem que os registros irão aparecer.
Vc pode usar de "gambiarras" que façam o que você precisa, por
exemplo:
select prodcod,prodpis,prodcof from tb_pcaprod where prodcod in(
'JNV970122 ','2P0130201A ','2T2130201D ','2U0103203
','2T2301368B '
order by
case prodcod
when 'JNV970122 ' then 1
when '2P0130201A ' then 2
when '2T2130201D ' then 3
when '2U0103203 ' then 4
when '2T2301368B ' then 5
end
[]s
Carlos H. Cantu
www.FireBase.com.br - www.firebirdnews.org
www.warmboot.com.br - blog.firebase.com.br
C> Boa tarde
C> Prezados, utilizo firebird 1.5 e tenho uma dúvida:
C> Como fazer a consulta para o select retornar os registros na mesma
C> ordem que são colocados na clausula where?
C> Exemplo:
C> select prodcod,prodpis,prodcof from tb_pcaprod where prodcod in(
C> 'JNV970122 ','2P0130201A ','2T2130201D ','2U0103203 ','2T2301368B ');
C> PRODCOD PRODPIS PRODCOF
C> ===================== ====== ======
C> 2P0130201A S S
C> 2T2130201D S S
C> 2U0103203 S S
C> 2T2301368B S S
C> JNV970122 S S
C> Desde já agradeço
C> Cleber
C> GTi – DN 4942 – PAMPEIRO
Mais detalhes sobre a lista de discussão lista