Please help! I'm trying to join using the same table twice, thus I need to
do an alias. This is the first time I've ever tried an alias, so I don't
know if I'm doing this right.
If I were writing SQL code, I would write something like the following:
SELECT db.work.*, db.tcolor.html_code, db.ccolor.html_code
FROM db.work LEFT OUTER JOIN color as tcolor ON db.work.title_color ==
tcolor.id
LEFT OUTER JOIN color as ccolor ON db.work.cover_color == ccolor.id
This is what I'm trying, but it's yielding an error: OperationalError:
ambiguous
column name: color.html_code
def view():
t=db.color.with_alias('t')
c=db.color.with_alias('c')
accessible_works=db().select(db.work.ALL, db.t.html_code, db.c.html_code,
left=[db.t.on(db.t.id==db.work.title_color),
db.c.on(db.c.id==db.work.cover_color)])
return dict(works=accessible_works)
*I'm seeing the following in the variables: *('SELECT work.id,
work.title, work.title_font, wor...lor LEFT JOIN color ON
color.id=work.cover_color;',)
*What am I doing wrong? (In case it's useful, I'm running on a PC
*from source code, version 1.87.2, downloaded this morning.)
Thanks for your help,
Audra