android Room从另一个表中获取具有ID的所有项

cetgtptt  于 2023-04-28  发布在  Android
关注(0)|答案(1)|浏览(111)

我有2个表,items(key = item_id)和 details(key = details_id)。如果 details_id 存在于 details 中,那么等于 details_iditem_id 也将存在于 items 中。我需要从 items 数据库中按所有 details_id 获取项目。
数据库单独工作正常,但当我尝试编写提到第二个表的查询时,我得到以下错误:

错误:查询有问题:[SQLITE_ERROR] SQL错误或缺少数据库(没有这样的表:详情)

我的查询:

@Query("SELECT * FROM pokemons WHERE item_id IN (SELECT details_id FROM details)")
    fun pagingSourceOffline(): PagingSource<Int, PokemonItemEntity>
jtoj6r0c

jtoj6r0c1#

如果你想一起使用你的表,你需要在一个数据库中声明它们。

@Database(
    entities = [TableOne::class, TableTwo::class],
    version = 1
)
abstract class MyDatabase : RoomDatabase() {
    abstract val tableOneDao: TableOneDao
    abstract val tableTwoDao: TableTwoDao
}

相关问题