3

「tags」と「deal_tag」の2つのテーブルがあり、テーブル定義は次のとおりです。

Table('tags', metadata,
          Column('id', types.Integer(), Sequence('tag_uid_seq'),
              primary_key=True),
          Column('name', types.String()),
         )

Table('deal_tag', metadata,
       Column('dealid', types.Integer(), ForeignKey('deals.id')),
       Column('tagid', types.Integer(), ForeignKey
           ('tags.id')),
        )

タグID、タグ名、取引数(タグあたりの取引数)を選択したい。サンプルクエリは

SELECT tags.Name,tags.id,COUNT(deal_tag.dealid) FROM tags INNER JOIN
deal_tag ON tags.id = deal_tag.tagid GROUP BY deal_tag.tagid;

SqlAlchemyのselect&join関数を使用して上記のクエリを作成するにはどうすればよいですか?

4

2 に答える 2

2

これを試してみてください...

s = select([tags.c.Name, tags.c.id, func.count(deal_tag.dealid)], 
           tags.c.id == deal_tag.c.tagid).group_by(tags.c.Name, tags.c.id)
于 2009-06-04T15:01:22.963 に答える
0

テーブルのマッピング時にテーブルを結合できます

orm.mapper()

詳細については、リンクからアクセスできます

www.sqlalchemy.org/docs/

于 2009-06-27T10:19:07.693 に答える