"Steven Adams" <[EMAIL PROTECTED]> writes:
> select ia.name, iac.internal
> from information_assets as ia
> left outer join information_asset_categories as iac on(ia.category_id =
> iac.id)
> and ia.id = 21

> This causes all rows in information_assets to be returned despite the "and"
> clause.

AFAICS that's correct behavior.  I think you're confused about SQL
syntax: the way you've written it, the "ia.id = 21" condition is
part of the left join's ON clause, and therefore it cannot cause any
rows from the left side of the join to be omitted.  (Hint: those
parentheses are just noise.)  Perhaps you meant to write WHERE ia.id = 21?

                        regards, tom lane

---------------------------(end of broadcast)---------------------------
TIP 3: Have you checked our extensive FAQ?

               http://www.postgresql.org/docs/faq

Reply via email to