将 List<Object> 返回给变量;
Returning List<Object> to variables;
我在做房间数据库
@Query("SELECT distinct UserID FROM USER WHERE CovidStat=='T'")
public List<USER> checkCovid();
@Query("SELECT DISTINCT PID,VisitDate FROM USER_PLACE,USER WHERE User.UserID=USER_PLACE.UID AND UID=(:UID)")
int selectCovidPlace(int UID);
我想要 checkCovid() 到 return UserID,其中 CovidStat='T' 我想将 ID 放入 selectCovidPlace 以识别该 ID 去过的地方。问题是 checkCovid 会 return 给我一个列表而不是 1 个变量,因为它不仅有 1 个人会有 CovidStat='T',但我不确定如何将列表放入 selectCovidPlace() .
这里你应该使用 IN clause 如下:
@Query("SELECT DISTINCT PID,VisitDate FROM USER_PLACE,USER WHERE User.UserID=USER_PLACE.UID AND UID IN (:UIDs)")
int selectCovidPlace(List<Integer> UIDs);
我不熟悉 SQLite。但是 SQL 语法应该是通用的。
使用 IN
语句怎么样?
像这样... WHERE User.UserID=USER_PLACE.UID AND UID IN (:UID)")
然后你可以传递List
作为参数。
我在做房间数据库
@Query("SELECT distinct UserID FROM USER WHERE CovidStat=='T'")
public List<USER> checkCovid();
@Query("SELECT DISTINCT PID,VisitDate FROM USER_PLACE,USER WHERE User.UserID=USER_PLACE.UID AND UID=(:UID)")
int selectCovidPlace(int UID);
我想要 checkCovid() 到 return UserID,其中 CovidStat='T' 我想将 ID 放入 selectCovidPlace 以识别该 ID 去过的地方。问题是 checkCovid 会 return 给我一个列表而不是 1 个变量,因为它不仅有 1 个人会有 CovidStat='T',但我不确定如何将列表放入 selectCovidPlace() .
这里你应该使用 IN clause 如下:
@Query("SELECT DISTINCT PID,VisitDate FROM USER_PLACE,USER WHERE User.UserID=USER_PLACE.UID AND UID IN (:UIDs)")
int selectCovidPlace(List<Integer> UIDs);
我不熟悉 SQLite。但是 SQL 语法应该是通用的。
使用 IN
语句怎么样?
像这样... WHERE User.UserID=USER_PLACE.UID AND UID IN (:UID)")
然后你可以传递List
作为参数。