Something like the following should work: session.query(Position, func.sum(Stats.points)).join(Stats.league, Player.position)\ .filter(Player.team == 'Some team').group_by(Position)
On Aug 11, 9:08 pm, Doron Tal <doron.tal.l...@gmail.com> wrote: > Hi sqlalchemy, > > I'm a newbie to SA. I hope you could help me with the following problem. > > Say that I have: > > class Position(Base): > __tablename__ = 'Position' > id = Column('id', Integer, primary_key=True) > position = Column('name', String) #center, guard etc' > > class Player(Base): > __tablename__ = 'Player' > id = Column('id', Integer, primary_key=True) > name = Column('name', String) > team = Column('team', String) > position_id = Column('position_id', Integer, ForeignKey('Position.id')) > position = relation('Position') > > class Stats(Base): > __tablename__ = 'Stats' > id = Column('id', Integer, primary_key=True) > name = Column('name', String) > points = Column('points', Integer) > Player_id = Column('player_id', Integer, ForeignKey('Player.id')) > league = relation('Player') > > How can I retrieve the sum of points for each of the player positions? In > other words: > Retrieving the sum of points of all of the guards, centers, etc'. > How can this query be further limited to a specific team (simple > join+filter, right?) > > Thanks, > Doron. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To post to this group, send email to sqlalchemy@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 -~----------~----~----~----~------~----~------~--~---