| From: | "ai" <listar(at)mail(dot)ru> | 
|---|---|
| To: | <pgsql-sql(at)postgresql(dot)org> | 
| Subject: | Problem with nested left-joins and coalesce | 
| Date: | 2011-08-08 06:53:24 | 
| Message-ID: | 01a301cc5597$e1b5ea40$a521bec0$@mail.ru | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-sql | 
Hi!
I have strange issue with nested left-joins in postgresql...
It's hard to explain, but easy to show =)
here we are:
SELECT * FROM
(
SELECT 1 as key1
) sub1
LEFT JOIN
(
SELECT sub3.key3, value2 FROM
(
SELECT 1 as key3
) sub3
LEFT JOIN
(
                               SELECT sub5.key5, COALESCE(sub6.value1, 1) as
value2
FROM
(
SELECT 1 as key5
) sub5
LEFT JOIN
(
SELECT 1 as key6, value1
FROM
(
                                                               SELECT
NULL::integer as value1
) sub7
WHERE false
) sub6 ON false
)
sub4 ON sub4.key5=sub3.key3
)
sub2 ON sub1.key1 = sub2.key3
The result of this query:
key1;key3;value2
1;1;NULL
And this is the problem - value2 can't be NULL because of COALESCE in sub4
(at least I think that it can't be =))
Anyway if we'll change
SELECT sub3.key3, sub4.value2 FROM
with
SELECT sub3.key3, value2 FROM
we will got correct result:
key1;key3;value2
1;1;1
Is there something wrong with my mind&hands? or is it a bug?
Thanks in advance!
Kind regards
Alex
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Carla | 2011-08-08 15:02:43 | Re: Problem with nested left-joins and coalesce | 
| Previous Message | Jasen Betts | 2011-08-05 12:43:48 | Re: Generic design: char vs varchar primary keys |