我正在做一个房间数据库
@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()返回UserID,其中CovidStat='T',我想把ID放入selectCovidPlace,以确定该ID去过哪个地方。问题是,checkCovid会返回给我一个列表,而不是1个变量,因为它不仅是1人谁会有CovidStat='T',但我不确定我怎么能把一个列表到selectCovidPlace()。
我不熟悉SQLite。但是SQL语法应该是通用的。
如何使用IN
语句?
like this... WHERE User.UserID=USER_PLACE.UID AND UID IN (:UID)")
则可以将List
作为参数传入。
在这里你应该像下面这样使用IN子句:
@Query("SELECT DISTINCT PID,VisitDate FROM USER_PLACE,USER WHERE User.UserID=USER_PLACE.UID AND UID IN (:UIDs)")
int selectCovidPlace(List<Integer> UIDs);