try using groupby and sum
http://web2py.com/books/default/chapter/29/06#sum,-avg,-min,-max-and-len
On Friday, November 9, 2012 1:10:40 PM UTC-7, Rocco wrote:
>
> (I already post this question, but it was deleted in few seconds and no
> reason was mentioned. I try to repost it, removing formatting and external
> links... If something is wrong, please inform me :)
>
> I have defined this model:
>
> db.define_table('fruits_in_shop',
> Field('shop_name'),
> Field('species'),
> Field('number','integer'))
>
> With this kind of record inside:
> fruits_in_shop.id fruits_in_shop.shop_name fruits_in_shop.species
> fruits_in_shop.number
> 1 Mark's shop apple 32
> 2 Mark's shop pear 22
> 3 John's Market banana 22
> 4 John's Market apple 36
>
> I'm looking for a way to show the result as a "pivot table":
>
> Shop apple pear banana
> Mark's shop 32 22 0
> John's Market 32 0 22
>
> I often used a mysql trick to get this result, but there is a way to get
> this result using DAL?
>
> Otherwise I suppose to perform sequential queries and store the results in
> a dictionary.
> (fruits<-select distict fruit from table; for fruit in fruits:
> column<-select * from table where fruit=fruit;)
> In this case, there is a (easy) way to convert that dictionary into a
> gluon.sql.Rows object?
> Should I use its __init__ method?
>
--