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

---------------------------(end of broadcast)---------------------------
TIP 6: explain analyze is your friend

Reply via email to