¿Cómo agregar sub consulta en SQLITE Android junto con 'IN'?

Mi problema es que tengo que escribir esto

select * from contacts where id in (select cpk from mapping where gpk = 'MY-VARIABLE-HERE') 

Consulta en Android pero falla cuando se ejecuta.
Cuando funciono esto con la variable estática trabaja y proporciona los datos pero cuando intento esto con args de las selecciones falla.

Hasta ahora he probado estos:

1) Cursor cursor = myDataBase.rawQuery("select * from contacts where id in (select cpk from mapping where gpk = "+"'"+"?"+"'"+")", new String[]{grpName});

2) Cursor cursor = myDataBase.query(TABLE_CONTACTS, null, "id in", new String[]{"(select cpk from mapping where gpk = '"+grpName+"')"}, null, null, null);

3) Cursor cursor = myDataBase.rawQuery("select * from contacts where id in (select cpk from mapping where gpk = ?)", new String[]{grpName});

Por favor, ayúdame … Gracias de antemano …

3 Solutions collect form web for “¿Cómo agregar sub consulta en SQLITE Android junto con 'IN'?”

Resolví esto, estaba pasando el valor equivocado de variable.

 Cursor cursor = myDataBase.rawQuery("select * from contacts where id in (select cpk from mapping where gpk = ?)", new String[]{grpName}); 

Estaba funcionando correctamente.

Gracias a todos por la ayuda .. 🙂

Puedes hacerlo:

 String query="SELECT * FROM contacts WHERE id IN (SELECT cpk FROM mapping WHERE gpk = '"+grpName+"')"; Cursor cursor = myDataBase.rawQuery(query, null); 

Hacer esto pasar en la cláusula where

Gpk =?

Y en la matriz de valores pasar los valores como

 new String[] {gpk_value} 
  • SQLite dispara en Android?
  • Uso de la memoria sqlite android
  • Cómo y cuándo cerrar la base de datos sqlite en la aplicación con un montón de actividades y servicios
  • ¿Detectando la transacción olvidada de SQLite en Android usando StrictMode?
  • Asegúrese de que SQLite en Android utiliza UTF-8 como un conjunto de caracteres
  • SQLiteDatabase vs Almacenamiento de archivos
  • La base de datos de Android recrea cada vez que se inicia la aplicación
  • Utilizando un botón para exportar sqlite db a un archivo excel-readable (quizás csv)?
  • Un simple ejemplo androide de Córdova incluyendo Sqlite leer / escribir y buscar
  • Android cierre y apertura de base de datos SQLite en el nivel de aplicación
  • BroadcastReceiver para SMS de varias partes
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.