From c17f5fd568d554f559a29a4c9f1bf24d1ca4d096 Mon Sep 17 00:00:00 2001 From: BroodjeAap Date: Mon, 9 Nov 2020 18:05:32 +0100 Subject: [PATCH] added convenience view for answers --- lib/pages/practice/PracticeDatabase.dart | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/lib/pages/practice/PracticeDatabase.dart b/lib/pages/practice/PracticeDatabase.dart index ed56b76..3a81089 100644 --- a/lib/pages/practice/PracticeDatabase.dart +++ b/lib/pages/practice/PracticeDatabase.dart @@ -27,6 +27,18 @@ class PracticeDatabase { FOREIGN KEY(sessionId) REFERENCES PracticeSession(id) ); '''); + await database.execute(''' + CREATE VIEW AnswersView AS + SELECT + PracticeSession.id as practice_id, + PracticeAnswer.id as answer_id, + PracticeSession.type as type, + PracticeAnswer.question as question, + PracticeAnswer.answer as answer, + PracticeAnswer.time as time + FROM PracticeSession + INNER JOIN PracticeAnswer on PracticeSession.id = PracticeAnswer.id; + '''); } static Future getDatabase() async { @@ -58,16 +70,7 @@ class PracticeDatabase { static Future> getStats() async { var db = await getDatabase(); - List> answers = await db.rawQuery(''' - SELECT - PracticeSession.id as practice_id, - PracticeAnswer.id as answer_id, - PracticeSession.type as type, - PracticeAnswer.question as question, - PracticeAnswer.answer as answer, - PracticeAnswer.time as time - FROM PracticeSession - INNER JOIN PracticeAnswer on PracticeSession.id = PracticeAnswer.id;'''); + List> answers = await db.rawQuery('''SELECT * FROM AnswersView;'''); print(answers); var first = answers.first; print(first["practice_id"]);