diff -r e9b79f5c3571 -r 2ada3052e626 server/sources/rql2sql.py --- a/server/sources/rql2sql.py Fri Sep 30 18:08:00 2011 +0200 +++ b/server/sources/rql2sql.py Tue Oct 04 10:15:45 2011 +0200 @@ -1426,10 +1426,18 @@ return sql leftvars = cmp.children[0].get_nodes(VariableRef) assert len(leftvars) == 1 - leftalias = self._var_table(leftvars[0].variable.stinfo['attrvar']) + if leftvars[0].variable.stinfo['attrvar'] is None: + assert isinstance(leftvars[0].variable, ColumnAlias) + leftalias = leftvars[0].variable._q_sqltable + else: + leftalias = self._var_table(leftvars[0].variable.stinfo['attrvar']) rightvars = cmp.children[1].get_nodes(VariableRef) assert len(rightvars) == 1 - rightalias = self._var_table(rightvars[0].variable.stinfo['attrvar']) + if rightvars[0].variable.stinfo['attrvar'] is None: + assert isinstance(rightvars[0].variable, ColumnAlias) + rightalias = rightvars[0].variable._q_sqltable + else: + rightalias = self._var_table(rightvars[0].variable.stinfo['attrvar']) if optional == 'right': self._state.replace_tables_by_outer_join( leftalias, rightalias, 'LEFT', sql)