J'ai deux tables « tags » et « deal_tag », et la définition de la table suit,Créer une requête SQL à l'aide sqlalchemy sélectionner et joindre les fonctions
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')),
)
Je veux choisir id tag, le nom de l'étiquette et le nombre des transactions (nombre des offres par tag). Exemple de requête est
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;
Comment puis-je créer la requête ci-dessus à l'aide sqlalchemy sélectionner & rejoindre fonctions?
Vous avez oublié le .group_by (deal_tag.c.tagid). Et cela ne fonctionnera pas sur les DB qui respectent le standard SQL, vous devez grouper par tags.c.Name et tags.c.id, car ils sont sélectionnés. –