2013/8/28 Marcelo da Silva <[email protected]>
> Pessoal, de vez em quando surge umas necessidades doidas e aí vem as
> ideias doidas também.
>
> Preciso em um relatório mostrar um determinado número de linhas mesmo
> (branco) quando a query não me traz nenhum registro.
> Bem nó codigo consigo fazer de boa, mas como a query é usada em mais de um
> local, gostaria de fazer nela.
>
Se entendi bem, você queria, por exemplo, que a query retornasse ao menos N
linhas, sendo que se retornar menos, sejam adicionadas linhas em branco
(digamos NULL) para completar N linhas. É isso? Se não for explique
melhor...
Se for, isso funciona:
WITH t AS (
SELECT id, value FROM foo
)
SELECT t.* FROM t
UNION ALL
SELECT null, null FROM generate_series(1, (SELECT N - count(*) FROM t));
(trocar N pelo número mínimo de linhas).
Claro que pode ter implicações negativas em performance caso a consulta
retorne muitas linhas (devido ao count).
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
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral