Uma pergunta para compreender melhor a tua consulta. O atributo "l.no_item" seria o individuo pelo qual você precisa ordenar? ou não tem nenhum atributo dentro desta pesquisa que determine a ordem, mas sim (apenas) a ordem apresentada no IN ?
Att, -- Charly Frankl http://javadevilopers.blogspot.com/ [email protected] Linux user #391083 2009/10/7 Pablo Sánchez <[email protected]> > O problema é ter que construir uma query que ordene os elementos pelo > resultado de uma outra query. > > Estou usando uma lib numa versão em que ao usar order by na coluna > descritiva do item dá um crash no paginador. > > Então eu faço uma primeira query, para pegar os ids na ordem que eu > preciso, e agora preciso fazer uma segunda query que me retorne os itens > listados na ordem que recebi na primeira listagem. > > O problema é que todas as soluções apresentadas resultaram em uma consulta > que retorna tal qual está no banco, ou em sintaxe inválida (o order by in, > por exemplo). > > Query de exemplo. Note que no where in os itens estão fora de ordem, eu > preciso que venha nessa ordem aparentemente aleatória (mas é o resultado do > order by o nome do item): > > SELECT l.nu_seq_item_asdf AS l__nu_seq_item_asdf, > l.st_possui_recuperacao AS l__st_possui_recuperacao, > l.nu_ano AS l__nu_ano, l.no_item_abreviado AS l__no_item_abreviado, > l.no_item AS l__no_item, > l2.nu_seq_item_asdf_qwer AS l2__nu_seq_item_asdf_qwer, > l2.vl_aquisicao_qwer AS l2__vl_aquisicao_qwer, > l2.vl_reforma_qwer AS l2__vl_reforma_qwer, > l3.nu_seq_item_asdf_municipio AS l3__nu_seq_item_asdf_municipio, > l3.vl_aquisicao_municipio AS l3__vl_aquisicao_municipio, > l3.vl_reforma_municipio AS l3__vl_reforma_municipio, > l4.co_municipio_qwer AS l4__co_municipio_qwer, > l4.no_municipio AS l4__no_municipio, l4.sg_uf AS l4__sg_uf > FROM qwerqwer.s_item_asdf l LEFT JOIN qwerqwer.s_item_asdf_qwer l2 > ON l.nu_seq_item_asdf = l2.nu_seq_item_asdf > LEFT JOIN qwerqwer.s_item_asdf_municipio l3 > ON l.nu_seq_item_asdf = l3.nu_seq_item_asdf > AND l3.co_municipio_qwer = '520870' > LEFT JOIN qwerqwer.d_municipio l4 > ON l3.co_municipio_qwer = l4.co_municipio_qwer > AND l3.co_municipio_qwer = '520870' > WHERE l.nu_seq_item_asdf IN > (207, > 206, > 204, > 205, > 288, > 289, > 199, > 198 > ) > >
_______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
