sql >> Base de Datos >  >> RDS >> SQLite

SELECCIONE DISTINTO No funciona Android SQLite

¡SOLUCIONADO!

Entonces, los métodos de SQLiteQueryBuilder que devuelven un Cursor no permiten el Boolean parámetro directamente.

Sin embargo, después de leer las notas de clase, noté el método setDistinct y lo aplicó a SQLiteQueryBuilder.

Ahora funciona y me da solo una entrada única para cada estado, justo lo que estaba tratando de hacer. Necesitaba eliminar las otras columnas y solo concentrarme en el estado, pero ese es otro problema/solución que no está relacionado con esta pregunta. Basta con decir que tuve que centrarme solo en el estado de la columna y aplicar setDistinct a esa columna solo para obtener el resultado deseado.

Aquí está el código completo:

public Cursor getData(){
    SQLiteDatabase db = getReadableDatabase();
    SQLiteQueryBuilder qb = new SQLiteQueryBuilder();
    String [] sqlSelect = {"0 _id", "state"};
    String sqlTables = "Reefs";
    qb.setTables(sqlTables);
    qb.setDistinct(true);
    Cursor c = qb.query(db, sqlSelect, null, null, null, null, null);
    c.moveToFirst();
    return c;
}