This will teach me to run a test it first, I don't think this is exactly right, but it should be close. -- Mike Conley
On Fri, Apr 10, 2009 at 9:43 AM, Mike Conley <[email protected]> wrote: > Try this, has one nested query > sub = session.query(C.id.label('c_id'), > C.d_id.label('d_id'), > func.max(C.value).label('c_maxvalue') > ).group_by(C.d_id).subquery() > q = session.query(D.id,sub.c.c_id,sub.c.c_maxvalue).outerjoin(sub) > print q > for row in q: > print 'D-id:%s C-id:%s C-max:%s'%(row.id, row.c_id, row.c_maxvalue) > > -- > Mike Conley > > > > > On Fri, Apr 10, 2009 at 8:55 AM, Joril <[email protected]> wrote: > >> >> On 10 Apr, 12:52, [email protected] wrote: >> > that's what i have in bitemporal queries. >> > u need a groupby and subquery/ies. >> >> I see, thanks for your hint! >> I tried to do it with bare SQL via pgadmin, and I ended up with >> >> select d.id, c.id from d left outer join ( >> select c.* from c join ( >> select d_id, max(value) as v from c group by d_id) as sub >> on c.d_id = sub.d_id and c.value = sub.v) as c >> on c.d_id = d.id >> >> Now I'll try with the Query API :) But I was wondering, maybe there's >> a simpler way than 3 nested queries...? >> >> >> >> > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en -~----------~----~----~----~------~----~------~--~---
