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
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