我剛剛開始使用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