Need help with a special JOIN

Andreas <maps.on@gmx.net>

From: Andreas <maps.on@gmx.net>
To: "pgsql-sql@postgresql.org" <pgsql-sql@postgresql.org>
Date: 2012-09-29T16:02:23Z
Lists: pgsql-sql
Hi,

asume I've got 2 tables

objects ( id int, name text )
attributes ( object_id int, value int )

attributes   has a default entry with object_id = 0 and some other where 
another value should be used.

e.g.
objects
(   1,   'A'   ),
(   2,   'B'   ),
(   3,   'C'   )

attributes
(   0,   42   ),
(   2,   99   )

The result of the join should look like this:

object_id, name, value
1,   'A',   42
2,   'B',   99
3,   'C',   42


I could figure something out with 2 JOINs, UNION and some DISTINCT ON 
but this would make my real query rather chunky.   :(

Is there an elegant way to get this?