Ok, here it is:
SELECT *
FROM
activity a
LEFT OUTER JOIN (SELECT username AS artistname, objectid AS userid FROM
user) u1
ON a.artist = u1.userid;
After this join, I would have a view, that contains original activity table
data, appended with column artistname, which would contain artist username,
referenced from this activity record.
If I join the result with (SELECT username AS programmername, objectid AS userid
FROM user) u2
ON a.programmer = u2.userid
I would have programmername column appended, containing programmers username,
etc.
I hope this clarifies the issue.
thanks,
Josh Berkus wrote:
> Oleg,
>
> > the sub-select statement I was using were not for filtering data (in
> > which
> > case you can move filtering condition in ON part of the join), but
> > rather
> > renaming the column 'username' with the name I need in the current
> > join
> > statement. In this case, columns with new names ('artist',
> > 'designer',
> > 'programmer') would be appended to the overall query result and can
> > be
> > selected by top-level select statement.
> > This looks like a very clumsy way to do what I need.
> > Any ideas?
>
> No, now I'm confused. Can you explain better what you are trying to
> achieve as a result?
>
> -Josh
>
> ------------------------------------------------------------------------
>
> ------------------------------------------------------------------------
>
> ------------------------------------------------------------------------