Android机房使用已保存的整数列表/数组来执行SQL“ IN”查询

时间:2019-07-11 10:37:05

标签: android mysql android-sqlite android-room android-mvvm

您好,我正在使用android mvvm room,我有一个已经在工作的整数列表,并保存在图1的表中。该表将用作引用表,用于处理图2中data_collection_table的数据。

图1 :refence_table

=在应用中生成的字符串

=数组/ ID列表将用于查询数组值的任何更改。

 ___________________________
|_key____|___value__________|
| key_1  | [1234,2323,235]  |
| key_2  | [1263,1233,2323] |
-----------------------------

图2 :data_collection_table

 ___________________________
|_id____|___data entities___|
| 1233  |   event one       |
| 2323  |   event two       |
|and so on..                |
 ---------------------------

问题

  1. 使用sql“ IN”提取数据时,我无法获取任何数据,执行时未发现任何错误。

我编写的使用room livedata获取数据的代码。 示例代码返回0个数据

     @Query("SELECT * FROM data_collection_table WHERE id IN  (SELECT value 
    FROM refence_table WHERE `key` LIKE :key)")
       LiveData<List<T>> getDataList(String key);
  1. 如何使用其键在refence_table中查询值的长度。
     @Query("SELECT COUNT(value) FROM tbl_reference WHERE `key` LIKE :key")
    int getCount(String key);

我已经尝试在sql中使用LENGTH(value)和COUNT(value)也不起作用。

0 个答案:

没有答案