запрос присоединения и подсчета во флаттере sqflite - PullRequest
1 голос
/ 28 мая 2019

У меня есть 2 таблицы, одна с именами и идентификаторами, а другая с идентификаторами и датами, Я пытаюсь выяснить, как создать вспомогательный метод для запроса двух таблиц и возврата списка имен с количеством дат, связанных с их идентификатором.

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;

Но все еще не может перевести на метод sqflite.

1 Ответ

1 голос
/ 29 мая 2019

Существует метод rawQuery (). Проверьте Необработанные SQL-запросы

...