Now sure  try

count = db.dog.id.count()
rows=db().select(db.person.id,db.person.name, count,
left=db.dog.on(db.person.id==db.dog.owner),groupby=db.person.id)
print row.person.name, row[count]

On Feb 18, 7:03 am, aure <[email protected]> wrote:
> Hi,
>
> I have used the methods given in the web2py manual, in the "One to
> Many Relation" part, to try and combine a left outer join with
> grouping and counting.  But I did not manage.
>
> The examples given are:
>
> >>> rows=db().select(db.person.ALL, db.dog.ALL, 
> >>> left=db.dog.on(db.person.id==db.dog.owner))
> >>> for row in rows:
>
>         print row.person.name, 'has', row.dog.name
> Alex has Skipper
> Alex has Snoopy
> Bob has Puppy
> Carl has None
>
> >>> count = db.person.id.count()
> >>> for row in db(db.person.id==db.dog.owner).select(db.person.name, count, 
> >>> groupby=db.person.id):
>
>         print row.person.name, row._extra[count]
> Alex 2
> Bob 1
>
> What should the query be to get such a result:
> Alex 2
> Bob 1
> Carl 0
>
> Thank you,
> Aurelien

-- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" 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/web2py?hl=en.

Reply via email to