Android 房间选择表达式

Android 房间选择表达式,android,kotlin,android-room,android-architecture-components,Android,Kotlin,Android Room,Android Architecture Components,我需要创建一个不那么简单的Sql select查询 大概是这样的: @Query("$SELECT_FROM $PRODUCT_TRANSACTION_TABLE WHERE write_status == ($SALE || $AUDIT)") fun loadProductSaleTransactions(): LiveData<List<TransactionProductTable>> @Query($SELECT_FROM$PRODUCT_TRAN

我需要创建一个不那么简单的Sql select查询

大概是这样的:

 @Query("$SELECT_FROM  $PRODUCT_TRANSACTION_TABLE WHERE write_status == ($SALE || $AUDIT)")
    fun loadProductSaleTransactions(): LiveData<List<TransactionProductTable>>
@Query($SELECT_FROM$PRODUCT_TRANSACTION_TABLE,其中write_status==($SALE | |$AUDIT)))
fun LoadProductSaleTransales():LiveData
该字段可以是销售或审计

但房间里什么也没有。
您能帮我正确地书写吗?

我建议将查询更改为:

 @Query("$SELECT_FROM  $PRODUCT_TRANSACTION_TABLE WHERE write_status IN ($SALE, $AUDIT)")
    fun loadProductSaleTransactions(): LiveData<List<TransactionProductTable>>
@Query($SELECT\u FROM$PRODUCT\u TRANSACTION\u表,其中写入状态为($SALE,$AUDIT)”)
fun LoadProductSaleTransales():LiveData

让我知道这是否解决了问题。干杯

只需在WHERE子句之后更改,如下所示

@Query(
"$SELECT_FROM  $PRODUCT_TRANSACTION_TABLE WHERE
 write_status = $SALE OR write_status =  $AUDIT"
) fun loadProductSaleTransactions(): LiveData<List<TransactionProductTable>>
@Query(
“$从$PRODUCT\u TRANSACTION\u表中选择\u,其中
写入状态=$SALE或写入状态=$AUDIT”
)fun LoadProductSaleTransales():LiveData
@Query($SELECT\u FROM$PRODUCT\u TRANSACTION\u TABLE,其中写入状态为($SALE,$AUDIT)”)趣味加载ProductSaleTransales():LiveData

您似乎使用了很多常量,是否也可以共享它们的值?展开您的SQL语句,并在一个SQLite工具(如DB Browser)中手动尝试,并附上数据库副本。@Commonware将尝试,谢谢工具建议!
@Query("$SELECT_FROM  $PRODUCT_TRANSACTION_TABLE WHERE write_status IN ($SALE, $AUDIT)")fun loadProductSaleTransactions(): LiveData<List<TransactionProductTable>>