bmarks_tags의 보조 테이블을 사용하여 bmark와 태그 사이에 많은 관계가있는 배에서 작동하는 쿼리를 수행하려고합니다. 쿼리에는 여러 하위 쿼리가 필요하며 열을 DISTINCT 할 필요가 있습니다. 나중에 DISTINCT'id를 통해 다른 테이블에 조인하려고합니다.sqlalchemy : 필터 또는 절 (element)의 label() 열을 참조하십시오.
것은 내가 그것을 몇 가지 방법을 시도하고이 가장 가까운 것 같다
tagid = alias(Tag.tid.distinct())
test = select([bmarks_tags.c.bmark_id],
from_obj=[bmarks_tags.join(DBSession.query(tagid.label('tagid'))),
bmarks_tags.c.tag_id == tagid])
return DBSession.execute(qry)
하지만 오류 얻을 :
⇝ AttributeError: '_UnaryExpression' object has no attribute 'named_with_column'
사람 내가이 bmarks_tags를 통해 가입 수행 할 수있는 방법을 알고 있나요합니다. tag_id와 Tag.tid.distinct()의 결과?
감사
스키마 :
t = DBSession.query(Tag.tid.distinct().label('tid')).subquery('t')
test = select([bmarks_tags.c.bmark_id], bmarks_tags.c.tag_id == t.c.tid)
return DBSession.execute(test)
스키마를 게시하여 게시하십시오. – letitbee
SELECT식이 다소 혼란 스럽습니다. 실제 SQL을 가지고 있습니까? – sayap