Как получить все отдельные строки, SQLite - PullRequest
0 голосов
/ 27 декабря 2011

Вот мой стол:

private static final String DATABASE_CREATE =
        "create table entry (_id integer primary key autoincrement, "
        + "date text not null, " +
        "velocity integer not null, " +
        "type text not null, " +
        "xCoord real not null, " +
        "yCoord real not null, " +
        "color integer not null);";

Мой список просмотра заполнен датами, когда записи были созданы. Итак, мой listView выглядит примерно так:

December 25, 2011
December 25, 2011
December 25, 2011
December 26, 2011
December 26, 2011
December 27, 2011

Таким образом, в основном, каждый раз, когда запись сохраняется в базе данных, она будет отображать дату, когда она была создана. Мне удалось выбрать уникальную дату, поэтому одна и та же дата будет отображаться только один раз, выполнив следующее:

SELECT * FROM entry GROUP BY date

Теперь мой listView выглядит так:

December 25, 2011
December 26, 2011
December 27, 2011

Мой вопрос: когда я нажимаю на строку в listView, как я могу выбрать все строки, которые имеют ту же дату, что и та, на которой я щелкнул. Например, если я нажму «25 декабря 2011 года», тогда я хочу, чтобы запрос возвращал всю информацию из тех 3 строк, в которых была та же дата, на которую я нажал.

Ответы [ 2 ]

1 голос
/ 27 декабря 2011

SELECT * FROM entry WHERE date='December 25, 2011'

0 голосов
/ 28 декабря 2011

Ваша структура БД немного, может быть, противоречит теории БД. Возможно, вам лучше иметь 2 таблицы, чтобы избежать повторения данных. Таким образом, вы отображаете первую таблицу в списке, и в этой таблице все данные (даты) различны. Затем, когда пользователь щелкает, вы выбираете все записи, имеющие одинаковый ключ данных из второй таблицы, и затем вы можете отобразить все остальные данные из этих выбранных строк во 2-й таблице

...