1

私は次の Flask-SQLAlchemy モデルを持っていますが、SQL テーブルは SQLAlchemy を知らない人にとっては簡単に理解できるはずです:

from myapp.api import db

class Show(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    title = db.Column(db.String(128))

class Episode(db.Model):
    title = db.Column(db.String(256))
    airtime = db.Column(db.DateTime)
    show_id = db.Column(db.Integer, db.ForeignKey('show.id'), primary_key=True)

    show = db.relationship('Show', backref=db.backref('episodes'), lazy='joined')

すべての番組で最も近い次のエピソード (およびその番組) を取得しようとしていますが、それを行うための SQL がわかりません。

min()、などのさまざまな組み合わせを試しましたが、GROUP BYこれを行うにはサブクエリを使用する必要があると感じています。

私はそれが価値があるためにSQLiteを使用しています。

何か案は?

4

1 に答える 1

0

これにより、各番組の最後のエピソードが返されます。

SELECT * FROM Show JOIN Episode ON Show.id=Episode.show_id
WHERE airtime=(SELECT MAX(airtime) FROM Episode WHERE show_id=Show.id)
于 2013-10-30T11:37:11.140 に答える