Bmarks_tags ikincil bir tabloya sahip bmarks ve etiketler arasında çok - çok ilişki gemisinde çalışan bir sorguyu yapmaya çalışıyorum. Sorgu birkaç alt soruyu içerir ve bir sütun DISTINCT ihtiyacım var. Daha sonra bunu DISTINCT'd ids aracılığıyla başka bir masaya katılmak istiyorum.sqlalchemy: bir filtre veya clauselement öğesinde etiketleme() 'd sütunu
bunu bir kaç yoldan denedim ve bu en yakın görünüyor:
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)
Ama bir hata alıyorum:
⇝ AttributeError: '_UnaryExpression' object has no attribute 'named_with_column'
Herkes ben bmarks_tags genelinde katılmak gerçekleştirebilirsiniz biliyor mu. tag_id ve Tag.tid.distinct() 'nin sonucu?
Teşekkür
Şema:
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)
Şemalarınızı gönderebilmemiz için lütfen gönderin. – letitbee
SELECT ifadesi oldukça kafa karıştırıcı görünüyor. Gerçek SQL var mı? – sayap