pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Ian Barwick <barwick@gmx.net>
To: Albrecht Berger <berger1517@gmx.ch>
To: pgsql <pgsql-sql@postgresql.org>
Subject: Re: replace null with 0 in subselect ?
Date: Wed, 16 Oct 2002 14:16:08 +0200
Message-ID: <E181n7U-00050E-00@lubitsch.akademie.de> (raw)
In-Reply-To: <05f001c274fb$e8a5aba0$a07ba8c0@wxp>
References: <05f001c274fb$e8a5aba0$a07ba8c0@wxp>

On Wednesday 16 October 2002 12:07, Albrecht Berger wrote:
> Hello,
> I have a statement like this :
>
> INSERT INTO tab1 (c1, c2, c3) VALUES (1,2, SELECT MAX(pos)+1 FROM tab2);
>
> This works fine if the subselect returns a value, but if it returns
> null there is a problem. In this case a 0 has to be inserted.
> Is there any pg function which solves this problem ?
> I know that oracle has a function but I didn't find
> something similar in pg.

A quick and dirty solution (untested):

INSERT INTO tab1 (c1, c2, c3) 
VALUES (1,2, 
 (SELECT CASE WHEN (SELECT MAX(pos)+1 ) IS NULL THEN 0
  ELSE (SELECT MAX(pos)+1 )
  END)
)


Ian Barwick
barwick@gmx.net




view thread (4+ messages)  latest in thread

Message-ID: <E181n7U-00050E-00@lubitsch.akademie.de>
Permalink:  ../E181n7U-00050E-00@lubitsch.akademie.de/
Also on:    postgresql.org/message-id/E181n7U-00050E-00@lubitsch.akademie.de

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-sql@postgresql.org
  Cc: barwick@gmx.net, berger1517@gmx.ch
  Subject: Re: replace null with 0 in subselect ?
  In-Reply-To: <E181n7U-00050E-00@lubitsch.akademie.de>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox