Madison Kelly wrote:
Thanks to both of you, Erik and Jon!

I had to tweak your two replies to get what I wanted (all 'foo' rows returned, was only getting ones with a match in 'baz'). You two sent me on the right path though and I was able to work out the rest using the PgSQL docs on 'CASE' and 'JOIN'.

  Here is the working query (where 'bar_id'=2):

SELECT
    CASE z.baz_bar_id
    WHEN 2
        THEN TRUE
        ELSE FALSE
    END AS tf_col,
    f.foo_id
FROM foo f
    LEFT OUTER JOIN baz z
    ON (f.foo_id=z.baz_foo_id)
    LEFT OUTER JOIN bar b
    ON (b.bar_id=z.baz_bar_id)
AND
    b.bar_id=2;

Thanks kindly to both! I honestly didn't expect to work this out before then end of the day. Cool!

Madi

Doh!

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

---------------------------(end of broadcast)---------------------------
TIP 5: don't forget to increase your free space map settings

Reply via email to