3
我有兩個表的「標籤」和「deal_tag」創建SQL查詢,並表定義如下,使用SQLAlchemy的選擇和加入功能
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的選擇&加入功能上面的查詢?
你忘了.group_by(deal_tag.c.tagid)。這對於尊重SQL標準的DB不起作用,因此需要通過tags.c.Name和tags.c.id進行分組,因爲它們已被選中。 – 2009-06-04 15:39:46