2015-01-07 16:32 GMT-02:00 Sebastian Webber <sebastian...@gmail.com>:
> -- workaround starts > DROP SEQUENCE IF EXISTS temp_seq; > CREATE TEMP sequence temp_seq; > -- workaround ends > > WITH items_parafiltrar as ( > SELECT UNNEST(ARRAY[1,5,20,12]) AS filtro > ), lista as ( > SELECT nextval('temp_seq') As row_number, items_parafiltrar.filtro as item > FROM items_parafiltrar > ) > SELECT foo.id, foo.name , lista.row_number FROM foo, lista > where foo.id = lista.item > order by lista.row_number; > Nossa cara, desculpe, mas por favor não faça isso. Criar uma "sequence" (mesmo temporária) para ter algo que uma simples WINDOW FUNCTION row_number (o mesmo do seu "alias") já faz, me parece péssimo, além disso para array o generate_subscripts já resolve, você viu a solução que eu propus? De qualquer forma a ideia de um JOIN com o resultado do unnest pode não ser ruim, mas seria interessante testar bem a diferença de performance desse método, sei que para grandes listas isso pode ser melhor que usar IN, mas é difícil determinar o que é "grande". Atenciosamente, -- Matheus de Oliveira Analista de Banco de Dados Dextra Sistemas - MPS.Br nível F! www.dextra.com.br/postgres
_______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral