kotlin 从不同的表中获取带有计数的数据

muk1a3rh  于 2022-11-25  发布在  Kotlin
关注(0)|答案(1)|浏览(104)

我使用的是房间数据库,有两个名为FileFolder的实体
第一个
所以,我想得到一个对象Flow<List<FolderDetailWithCount>>的列表流

data class FolderDetailWithCount{
    val id:Long?,
    val name:String,
    val count:Long
}

这意味着在哪个文件夹(及其名称)中存储了多少文件。(文件的folderId是它所在文件夹的id
所以,我不知道如何在房间里做这件事,也不知道应该查询什么才能得到这些信息。

58wvjzkj

58wvjzkj1#

您可以使用此自定义查询实现所需的功能:

@Query("SELECT fo.id, fo.name, (SELECT COUNT(*) FROM FileTable fi WHERE fi.folderId == fo.id) as count FROM FolderTable fo")
suspend fun getFolderDetailWithCountListFlow(): Flow<List< FolderDetailWithCount>>

FileTable更改为文件表名称,将FolderTable更改为文件夹表名称

相关问题