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
-~----------~----~----~----~------~----~------~--~---

Reply via email to