¿Cómo realizar la siguiente consulta con Greendao?

Tengo 2 mesas A y B.

La Tabla A contiene nombres y la Tabla B contiene los nombres seleccionados .

Ahora me gustaría realizar la siguiente consulta en estas tablas utilizando greendao, Por favor, hágamelo saber si es posible y si no es hay alternativas (tal vez una consulta en bruto).

select * from A inner join B on A.nameid = B.nameid 

También, las columnas de la Tabla A: id, nameid, name
y columnas de la Tabla B: id, nameid, name, rating

Creo que esto podría ayudar. Puede utilizar la consulta sin procesar como una combinación falsa. Y obtienes todo lo que quieres en el objeto Query

 Query query = ATableDao.queryBuilder().where( new StringCondition("nameid IN " + "(SELECT nameid FROM B_Table )").build(); 

Dado que "nameid" no parece ser un identificador único en su muestra. No voy a sugerir a usar las relaciones para resolver este problema. Si usted está tratando de usar las relaciones , puede encontrar mi respuesta anterior aquí.

Prueba esto:

 List<ATableObj> listATableObj = ATableDao.queryRawCreate(", BTable BT WHERE BT.nameid = T.nameid").list(); 

Si utiliza greendao esto funciona de manera diferente:

En lugar de su consulta, seleccione filas de la tabla a (o b) y si necesita un campo de b (o a) llama a getB() (o getA() ) para obtener la fila correspondiente de esa tabla.

Si tiene filas en la tabla a que no tienen coincidencia en la tabla b y tiene filas en la tabla b que no tienen coincidencia en y solo desea seleccionar todo lo que tiene coincidencias en ambas tablas, tendría que hacer una consulta en bruto para filtrar las filas de a (o b).

  • Recibe una notificación cuando cambie la base de datos Android
  • Ejemplo de cuenta de SQLite
  • ¿Cómo establecer el tipo de datos en SQLiteDatabase vinculación de consulta en bruto?
  • Cómo dividir valores separados por comas en SQLite?
  • SQLite de Android - Clave principal - Insertar en la tabla
  • El controlador no pudo establecer una conexión segura con SQL Server mediante el cifrado de Secure Sockets Layer (SSL)
  • Cómo comprobar si BLOB es nulo
  • androide sqlite cómo ordenar por el tiempo
  • DBFlow seleccionar donde COLUMN en la lista?
  • ¿Preguntas con declaraciones preparadas en Android?
  • Integración de los servicios REST con una base de datos de inventario y SQL utilizando Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.