Cursor JOIN con el mismo nombre de columna
¿Cómo puedo acceder a columnas con el mismo nombre? He intentado hacer cursor.getString(cursor.getColumnIndexOrThrow("table.column"))
pero no parece funcionar
- Cómo cargar más de 1 MB de datos desde sqlite db al cursor de Android?
- Cuándo cerrar Cursor utilizado en SimpleCursorAdapter
- La consulta devuelve un cursor nulo
- Android RecyclerView + CursorLoader + ContentProvider + "Cargar más"
- Problema duplicado de Android thumbnail
- ¿Cómo representar 2 cursores como 1 cursor ordenado?
- La asignación de ventana de cursor de 2048 kb falló. # Cursores abiertos = 1 (# cursores abiertos por este proc = 1)
- Inverted ListView en Android?
- ¿Cómo crear datos Cursor sin obtener datos de la base de datos en la aplicación de Android?
- Obtener el resultado del cursor y convertirlo en una cadena para TextView
- ¿Cómo actualizar el contacto existente?
- ¿Está bien tener una instancia de SQLiteOpenHelper compartida por todas las actividades en una aplicación de Android?
- Cursor.getType () para el nivel de API <11
Puede utilizar alias, es decir,
db.rawQuery("SELECT column1 AS c1 FROM table");
Entonces usted puede utilizar:
cursor.getColumnIndex("c1");
Obviamente, lo mismo se aplica a los campos de JOIN. Aclamaciones.
EDITAR
Ejemplo con cláusula join:
db.rawQuery("SELECT t1.columnX AS c1, t2.columnY as c2 FROM table1 t1 INNER JOIN table2 t2 ON t1.A = t2.B");
A continuación, puede utilizar el nombre de alias independientemente de la tabla a la que pertenece:
cursor.getColumnIndex("c2") should return 1.