Problem with JOIN

[B]Hello

I have an sql query which is working perfectly.[/B]

[I]SELECT DISTINCT dbPosts.post
FROM dbPosts

LEFT JOIN ( dbUsers, dbFriends, dbPosts_share )

ON (
dbPosts.username_id = dbUsers.id
AND (dbPosts.username_id = dbFriends.user_id)
OR
(dbPosts.username_id = dbFriends.friend_id)
)[/I]

but when I add an extra column, it duplicates each output several times.

[I]SELECT DISTINCT dbPosts.post, dbUsers.username
FROM dbPosts

LEFT JOIN ( dbUsers, dbFriends, dbPosts_share )

ON (
dbPosts.username_id = dbUsers.id
AND (dbPosts.username_id = dbFriends.user_id)
OR
(dbPosts.username_id = dbFriends.friend_id)
)[/I]

Why is this happening?