Actually Solved! Was: (Return t/f on existence of a join)

From: Madison Kelly <linux(at)alteeve(dot)com>
To: Madison Kelly <linux(at)alteeve(dot)com>
Cc: Erik Jones <erik(at)myemma(dot)com>, PostgreSQL General <pgsql-general(at)postgresql(dot)org>, jsime(at)mediamatters(dot)org
Subject: Actually Solved! Was: (Return t/f on existence of a join)
Date: 2007-09-21 21:09:56
Message-ID: 46F43324.50207@alteeve.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Daniel B. Thurman 2007-09-21 21:28:45 Unable to start PostgresSQL Server
Previous Message Madison Kelly 2007-09-21 20:38:23 Wait, not solved... Was (Return t/f on existence of a join)