Android-вопрос о SQL Cursor и GROUP BY - PullRequest
2 голосов
/ 19 ноября 2010

У меня есть запрос, который использует GROUP BY, так что результаты сгруппированы по столбцу даты.У меня такой вопрос:

Когда я перемещаюсь по курсору, чтобы получить результаты запроса, как я могу получить несколько элементов, связанных с каждой группой, в мой вектор?Например, я хочу получить ОБА «Предмет X» и «Предмет Y» на 16 октября 2010 года. В настоящее время я получаю их по отдельности.Вот мой код:

Vector<Event> v = new Vector<Event>();
Event e;

 detailCursor.moveToFirst();
 while (detailCursor.isAfterLast() == false) {
      e = new Event();
      e.setEventDate(detailCursor.getString(detailCursor
                .getColumnIndex("eventDate")));
      e.setItem(detailCursor.getString(detailCursor
                .getColumnIndex("Item")));

      v.add(e);

      detailCursor.moveToNext();
 }
detailCursor.close();

Итак, когда я получу результаты из моего Вектора, я получу:

12 октября 2010 г. - Элемент X

12 октября, 2010 - Элемент Y

и я хочу:

12 октября 2010 г. - Элемент X, Элемент Y

Да, мне нужно изменить свой Вектор для поддержки нескольких элементов, но, надеюсь, вы понимаете, с какой проблемой я сталкиваюсь ...

Спасибо!

1 Ответ

1 голос
/ 19 ноября 2010

Если ваши данные предоставлены SQLite, вам нужно изменить запрос и использовать GROUP_CONCAT (col) в этом случае.

Это объединит все значения в одну группу в одно значение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...