2013-03-21 5 views
0

Я ищу в моей базе данных SQLite из моего андроида приложения, используя следующие:SQLITE выберите отчетливый с Где

Строки базы данных являются: ID - KEY_NUMBER - TYPE

Cursor cursor = db.rawQuery("select DISTINCT "+KEY_NUMBER+" from "+TABLE + " DESC", null);

Но я только хочу вытащить отдельные значения из колонки KEY_NUMBER, если

TYPE column!=another value

Как мне это сделать? Я попытался вставить заявление Where, но это не сработало.

Столбец TYPE может быть один из 3-х значений: "type1","type2","type3" Я хочу только номер, если TYPE!="type1" или в терминах порядка, если TYPE=="type2" || "type3"

+0

Что должно отличать столбец 'TYPE'? – Darwind

+0

Я только что редактировал мой вопрос – Peter

ответ

2

Ok, то пункт WHERE должен выглядеть следующим образом:

WHERE TYPE IN ('type2', 'type3') 

И в конце концов, вся строка должна выглядеть следующим образом:

Cursor cursor = db.rawQuery("select DISTINCT " + KEY_NUMBER + " from " + TABLE + " WHERE TYPE IN ('type2', 'type3') ORDER BY KEY_NUMBER DESC", null); 
+0

Я просто попробовал это, и он не сработал. 'Курсор курсор = db.rawQuery (" select DISTINCT "+ KEY_NUMBER +" from "+ TABLE +" WHERE "+ TYPE +" IN ('type2', 'type3') "+" DESC ", null);' – Peter

+0

Возможно вы должны ввести свою позицию заказа с «order by». См. Мой ответ ниже. – eternay

+0

Отредактировал мой ответ ... – Darwind

0

Просто попробуйте удалить ключевое слово DESC и добавьте where type != '<your_value>'. Ваш запрос должен быть:

db.rawQuery("select DISTINCT "+KEY_NUMBER+" from "+TABLE + " where " + TYPE + " != '" + <value> + "'", null);

Когда этот запрос работает нормально, а затем добавить пункт заказа: order by key_number. Он должен работать (по крайней мере, он работает в базе данных MySQL).

Вы можете увидеть синтаксис выбора для баз данных sqlite в this link.

Я надеюсь, что это может решить вашу проблему.

+0

Я не уверен, что это работает в базе данных sqlite – Peter

+0

Это точно соответствует синтаксису, поэтому он должен работать. – eternay

Смежные вопросы