我刚刚开始使用SQLAlchemy,并且在围绕某些概念时仍然遇到困难。SQLAlchemy - WHERE子句中的子查询
归结为基本元素,我有两个表是这样的(这是通过烧瓶的SQLAlchemy):
class User(db.Model):
__tablename__ = 'users'
user_id = db.Column(db.Integer, primary_key=True)
class Posts(db.Model):
__tablename__ = 'posts'
post_id = db.Column(db.Integer, primary_key=True)
user_id = db.Column(db.Integer, db.ForeignKey('users.user_id'))
post_time = db.Column(db.DateTime)
user = db.relationship('User', backref='posts')
我怎么会去查询用户的列表和他们的最新职务(不包括没有帖子的用户)。如果我使用SQL,我会做:
SELECT [whatever]
FROM posts AS p
LEFT JOIN users AS u ON u.user_id = p.user_id
WHERE p.post_time = (SELECT MAX(post_time) FROM posts WHERE user_id = u.user_id)
所以我确切地知道“期望” SQL得到我想要的效果,但不知道如何去表达它“正确”的SQLAlchemy的。
编辑:万一它很重要,我在SQLAlchemy 0.6.6。
什么是'C'在't.c.user_id'表示? – Rus925 2014-06-23 08:49:49
'c'代表'列' – 10flow 2014-11-10 17:00:44