Actually Solved! Was: (Return t/f on existence of a join) - Mailing list pgsql-general

From Madison Kelly
Subject Actually Solved! Was: (Return t/f on existence of a join)
Date
Msg-id 46F43324.50207@alteeve.com
Whole thread Raw
In response to Wait, not solved... Was (Return t/f on existence of a join)  (Madison Kelly <linux@alteeve.com>)
List pgsql-general
Madison Kelly wrote:
>   It's returning a row from 'foo' for every entry in baz that has an
> entry pointing to foo (possibly same problem with each pointer to an
> entry in bar, not sure yet). The 'true/false' part is working though...
>
> Back to reading. *sigh* :)
>
> Madi

I'm sorry for all the line noise, but I like to post my solutions "for
the record".

Reading up a bit more of the JOIN types I was finally able to get all
rows in 'foo' returned just once with a t/f depending if a given
baz_bar_id exists. The query is:

(Where '2' is the 'baz_bar_id' I am checking on)

SELECT
    f.foo_id,
    f.foo_name,
    CASE z.baz_foo_id
    WHEN 2
    THEN TRUE
    ELSE FALSE
    END
FROM foo f
LEFT JOIN baz z
ON f.foo_id=z.baz_foo_id
AND z.baz_bar_id=2;

Thanks again, both of you!

Madi

pgsql-general by date:

Previous
From: Madison Kelly
Date:
Subject: Wait, not solved... Was (Return t/f on existence of a join)
Next
From: "Daniel B. Thurman"
Date:
Subject: Unable to start PostgresSQL Server