如何基于 sqflite 中的 ForiegnKey 字段值执行 SQLite 查询,flutter

How to perform a SQLite query based on a ForiegnKey field value in sqflite , flutter

我需要在 table 中执行查询,根据此处用作 ForiegnKey 的另一个 table 的值进行过滤,这是2 tables:

第一个table

"CREATE TABLE IF NOT EXISTS Shift (id INTEGER PRIMARY KEY, startTime TEXT, endTime TEXT, employeeName TEXT, branchName TEXT, onDuty BOOLEAN )");

第二个Table

'CREATE TABLE IF NOT EXISTS Balance(id INTEGER PRIMARY KEY,cashAmount REAL,ccAmount REAL, type TEXT, sihftId INTEGER, FOREIGN KEY (sihftId) REFERENCES Shift (id) ON DELETE NO ACTION ON UPDATE NO ACTION) ');

现在我要执行的查询类似于:

'SELECT * FROM Balance WHERE SHIFT__>onDuty = ?'

但我不知道正确的语法是什么。

我认为您对外键的期望比它提供的要多。你还需要加入两个表

SELECT * From Balance JOIN Shift ON Balance.sihftId = Shift.id WHERE Shift.onDuty = ?