Создайте SQL-запрос, используя функции выбора и объединения SqlAlchemy - PullRequest
3 голосов
/ 04 июня 2009

У меня есть две таблицы «теги» и «deal_tag», и определение таблицы следует,

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')),
        )

Я хочу выбрать идентификатор тега, имя тега и количество сделок (количество сделок в тег). Пример запроса

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?

Ответы [ 2 ]

2 голосов
/ 04 июня 2009

Дайте это попробовать ...

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)
0 голосов
/ 27 июня 2009

Вы можете присоединиться к таблице во время отображения таблицы

в orm.mapper ()

для получения дополнительной информации вы можете перейти по ссылке

www.sqlalchemy.org / документы /

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...