On Mar 30, 2010, at 2:47 AM, Kalium wrote: > Hi, > I've had a look through the docs and a quick look through the forum > here, and haven't been able to solve my problem. I'm using 0.4 > > The following works as expected. > > q = > System.query().join('activity').group_by(model.System.id).add_column(func.max(Activity.id)) > > The add_column() recognises that the activity table is already joined. > and thus does not add it to the tables in the 'FROM' clause. > > > However, the following does not work. The only difference is that now > the joined table (activity) is aliased. > > q = > System.query().join('activity',aliased=True).group_by(model.System.id).add_column(func.max(Activity.id)) > > add_column() does not recognise the aliased activity table and the > from clause now looks something like 'FROM system,activity', whereas > it should be joined. > > What are my best solutions?
in 0.4 you'd need to use SQL-level Table and alias() objects to achieve the desired effect. in 0.5 and above, you'd use aliased(Activity) as your entity. the "aliased=True" option only affects subsequent filter/order_by/group_by calls. -- You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To post to this group, send email to sqlalch...@googlegroups.com. To unsubscribe from this group, send email to sqlalchemy+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en.