¿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} 
  • Obteniendo una Suma de SQLite en Java en Android
  • Búsqueda SQLite FTS4 con caracteres especiales
  • ¿Por qué ContentValues ​​tiene un método put que admite booleanos?
  • SQLIte DROP tabla ROLL volver
  • ¿Los campos de datos SQLite null ocupan más memoria?
  • Android Store un objeto parcelable en SQLite
  • Android.database.sqlite.SQLiteException: near ": error de sintaxis (código 1):, mientras que la compilación: android error de programación
  • SQLite de Android - Cursor y ContentValues
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.