data class AreaAndMedia(
@Embedded
val area: Area,
@Relation(parentColumn = "objId" , entityColumn = "bindArea")
var medias: List<Media>
)
data class Media(
@ColumnInfo(name = "taskId", defaultValue = "")
val taskId: String = ""
)
interface Dao {
@Transaction
@Query("select * from area where objId = :areaId")
fun selectAreaAndMediasById(areaId: String): Flow<List<AreaAndMedia>>
}
现在,我想新增一个查询方法,用意是过滤 Media ,例如
@Transaction
@Query(
"SELECT af.* FROM area af WHERE af.objId = :areaId AND EXISTS ( SELECT 1 FROM medias mi WHERE mi.bindArea = af.objId AND mi.taskId = '')"
)
fun selectAreaAndMediasWithEmptyTaskId(
areaId: String
): Flow<List<AreaAndMedia>>
但是这个结果中,仍然包含 taskId 不为空的 Media, 不知道问题出在哪里
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.