Eu gostaria de usar um valor padrão para uma coluna que deve ser usada se nenhuma linha for retornada. Isso é possível no PostgreSQL? Como eu posso fazer isso? Ou existe alguma outra maneira de eu resolver isso?
Por exemplo, algo assim:
SELECT MAX(post_id) AS max_id DEFAULT 0 FROM my_table WHERE org_id = 3
E se não houver nenhuma linha org_id = 3
na tabela, quero retornar 0
.
ou
se você quiser que max(post_id) seja
null
quando houver 1 linha, mas post_id for nulodbfiddle
Se você quiser mostrar
0
(como 1 linha) quando sua consulta retornar 0 linhas, poderá usar:O acima não funciona se você quiser usar o nome padrão para o campo de nome e funciona apenas se você usar o campo de número. A consulta abaixo funciona para todos os tipos de campos.
Não consigo fazer nenhum dos itens acima funcionar.
Aqui está o que eu encontrei para trabalhar para isso:
Eu percebo não uma solução elegante, mas faz o trabalho.
Apenas retorne o valor padrão se nenhuma linha for encontrada: