我需要幫助創建一個 SQL 查詢,該查詢將從數據庫返回雞尾酒,因為我已經提供了進入該雞尾酒的所有成分因此,例如,我希望“Gin and Tonic”行僅在我為 Gin(id 為 1)和 Tonic(id 為 2)提供正確的 id 時返回。我只提供“補品”,我不應該回到這一行我正在使用 SQLAlchemy 和 Flask,但我仍然無法理解查詢將如何工作這是我的表結構的樣子+-------------------+| Tables_in_my_database |+-------------------+| cocktails || ing_in_cocktails || ingredients |+-------------------+這是我的雞尾酒桌+----+----------------+-------+---------+| id | name | glass | finish |+----+----------------+-------+---------+| 1 | white russisan | rocks | stirred || 2 | gin and tonic | rocks | stirred |+----+----------------+-------+---------+這是我的配料表+----+---------+----------+| id | name | ing_type |+----+---------+----------+| 1 | vodka | fruit || 2 | kahluha | fruit || 3 | gin | fruit || 4 | tonic | fruit |+----+---------+----------+這是我的關系表+----+-------------+--------+| id | cocktail_id | ing_id |+----+-------------+--------+| 1 | 1 | 1 || 2 | 1 | 2 || 3 | 2 | 3 || 4 | 2 | 4 |+----+-------------+--------+以下是對應的 SQLAlchemy 模型class Cocktail(db.Model): __tablename__ = 'cocktails' id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(80), nullable=False) glass = db.Column(db.String(20), nullable=False) finish = db.Column(db.String(20), nullable=True) ingredients = db.relationship( 'Ingredient', secondary=ing_in_cocktails, backref=db.backref('cocktails', lazy='dynamic') )class Ingredient(db.Model): __tablename__ = 'ingredients' id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(80), nullable=False) ing_type = db.Column(db.String(20), nullable=False)ing_in_cocktails = db.Table( 'ing_in_cocktails', db.Column('id', db.Integer, primary_key=True), db.Column('cocktail_id', db.Integer, db.ForeignKey('cocktails.id')), db.Column('ing_id', db.Integer, db.ForeignKey('ingredients.id')))
添加回答
舉報
0/150
提交
取消