197 itens...

Cara, isso é feio... mas se resolver...

2009/10/7 André Volpato <[email protected]>

> Pablo Sánchez escreveu:
> > Caros.
> >
> > Tenho um problema para resolver, relacionado à uma lib que gera um SQL
> > inválido por ter um order by lá no meio.
> >
> > A questão é que eu consigo ordenar com 2 consultar, em uma coloco o
> > order by, e coloco os ids no where campo in (lista).
> >
> > A consulta funciona então, mas como o where in não traz na ordem em
> > que está em lista, eu precisava saber se vocês conhecem algum jeito de
> > forçar que o banco respeite a ordem dos ids listados em where in. Ex:
> > (129, 23, 1000, 200) e os itens do resultado vierem nessa ordem.
> >
> > Isso tudo só porque atualmente colocaram uma lib velha para caramba, e
> > a mesma dá erro, na versão nova corrigiram a lib, e quebraram outras
> > coisas, mas a questão é que para colocar a nova, eu teria que
> > reescrever quase 70% da aplicação, inviável, então o jeito é resolver
> > com essa solução nada elegante citada acima.
> >
> > Alguma idéia de como forçar a ordenação pela lista do where in?
>
> Rapaz, eu já tive esse problema, realmente não vejo uma solução simples.
>
> Se a tua lista de filtro for pequena, você pode alterar a aplicação para
> escrever um order by com um filtro para cada entrada.
>
> Mais ou menos assim:
> # select login from password where login in ('root','admin','nilva')
> order by login='root' desc, login='admin' desc, login='nilva' desc ;
>
> Esse exemplo é de uma base daqui, mas serve no teu caso.
>
> []´s, André Volpato
>
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>



-- 
=================================
Pablo Santiago Sánchez
Análise e Desenvolvimento de Sistemas Web
Zend Certified Engineer #ZEND006757
[email protected]
(61) 9975-0883
http://www.sanchez.eti.br
http://www.corephp.com.br
"Quidquid latine dictum sit, altum viditur"
=================================
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a