在 flutter sqflite 中加入和计数查询
join and count query in flutter sqflite
我有 2 个表,一个包含名称和 ID,另一个包含 ID 和日期,
我想弄清楚如何创建辅助方法来查询这两个表和 return 名称列表以及与其 ID 关联的日期数。
Name Table
id Name
1 John
2 Tom
3 Frank
Date Table
id Date
1 1/3/19
1 1/4/19
1 1/5/19
2 1/4/19
Results:
Name Count
John 3
Tom 1
Frank 0
这就是我得到的所有名字。
Future<List> queryAllNames() async {
Database db = await database;
List<Map> names =
await db.query(Names, columns: [id, Name]);
if (names.length > 0) {
return names;
}
return null;
}
我已经从 sqlite 中找到了我需要的原始查询
select Name.name, count(Date.date) from Name left join Date using(id) group by Name.name;
但仍然无法转换为 at sqflite 辅助方法。
有一个 rawQuery() 方法。查看 Raw SQL queries
我有 2 个表,一个包含名称和 ID,另一个包含 ID 和日期, 我想弄清楚如何创建辅助方法来查询这两个表和 return 名称列表以及与其 ID 关联的日期数。
Name Table
id Name
1 John
2 Tom
3 Frank
Date Table
id Date
1 1/3/19
1 1/4/19
1 1/5/19
2 1/4/19
Results:
Name Count
John 3
Tom 1
Frank 0
这就是我得到的所有名字。
Future<List> queryAllNames() async {
Database db = await database;
List<Map> names =
await db.query(Names, columns: [id, Name]);
if (names.length > 0) {
return names;
}
return null;
}
我已经从 sqlite 中找到了我需要的原始查询
select Name.name, count(Date.date) from Name left join Date using(id) group by Name.name;
但仍然无法转换为 at sqflite 辅助方法。
有一个 rawQuery() 方法。查看 Raw SQL queries