Unir tablas en android

Tengo 3 tablas en mi base de datos sqllite Dos son tablas de configuración y una es la mesa principal donde se almacenan mis datos. Ahora cómo recuperar datos de la tabla principal uniendo 2 tablas en android, cómo y dónde realizar operaciones de unión.

¿Puede alguien guiarme.

3 Solutions collect form web for “Unir tablas en android”

Sólo puede ejecutar un rawQuery.
Por ejemplo algo como esto:

db.rawQuery("SELECT a.* FROM table_1 a INNER JOIN table_2 b ON a.id=b.anyId INNER JOIN table_3 c ON b.id= c.anyId WHERE c.key = ?", new String[]{"test"}); 

El primer parámetro es la consulta que desea ejecutar. Para todas las claves que desea agregar a su consulta sólo tiene que añadir un ? En la consulta.
El segundo parámetro es String Array. En este arreglo usted pone sus llaves, como el ejemplo dado sobre la test valor.

EDITAR:

También es posible usar rawQuery para update , insert o delete .
Por ejemplo, una simple consulta de actualización:

 db.rawQuery("UPDATE table_1 SET fieldA = ?, fieldB = ? WHERE id = ?", new String[]{"test", "test2", "1"}); 

Necesita el método rawQuery para resolver este problema.

 private final String MY_QUERY = "SELECT * FROM table_a a INNER JOIN table_b b ON a.id=b.other_id WHERE b.property_id=?"; db.rawQuery(MY_QUERY, new String[]{String.valueOf(propertyId)}); 

Pero si desea realizar una buena implementación cree un SQLiteHelper y DataSource para cada tabla y realice la relación en el datasource.

Class DatabaseHelper extiende SQLiteOpenHelper

Escribe debajo de código en tus funcions …

  SQLiteDatabase db = this.getReadableDatabase(); private final String MY_QUERY = "YOUR QUERY"; db.rawQuery(MY_QUERY, new String[]{"Parameter"}); db.close(); 
  • Cómo encontrar y borrar el archivo db de SQLite en Android (emulador)
  • Cómo incrementar el campo en la base de datos sqlite android
  • Android SQLite Dónde y cuándo inicializar SQLiteOpenHelper
  • ¿Qué hará un SQLiteCursor si una columna es nula?
  • Android - SQLite ContentResolver insertar / eliminar / actualizar en UI Thread?
  • "AS" equivalente en sqlite
  • Android insertWithOnConflict devolviendo el valor equivocado
  • Cómo dividir valores separados por comas en SQLite?
  • Cómo seleccionar datos entre dos intervalos de fechas en android SQLite
  • ¿Qué es lo mejor: 1 tabla por registro o 1 tabla con todos los registros vinculados con claves foráneas?
  • Error de SQLIte de Android: No se pudo leer la fila 0, col 1 de CursorWindow
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.