Java 如果数字在数字列表中,如何形成sqlite查询来选择行
我需要在Android上构造一个sqlite查询。我的数据库与此类似:Java 如果数字在数字列表中,如何形成sqlite查询来选择行,java,android,sqlite,Java,Android,Sqlite,我需要在Android上构造一个sqlite查询。我的数据库与此类似: ColA ColB ColC 1 Jim 16 2 Rob 14, 12 3 Tom 1, 4, 7 如何运行查询以匹配数字列表中的数字? 我正在尝试这样做: SELECT ColA, ColB FROM nametable WHERE 4 IN ColC 这应该返回第3行,而不是第2行,因此我不能只使用“LIKE%4%”。应该像%4%或像%4%或像4%或像4%才
ColA ColB ColC
1 Jim 16
2 Rob 14, 12
3 Tom 1, 4, 7
如何运行查询以匹配数字列表中的数字?
我正在尝试这样做:
SELECT ColA, ColB FROM nametable WHERE 4 IN ColC
这应该返回第3行,而不是第2行,因此我不能只使用“LIKE%4%”。应该像%4%或像%4%或像4%或像4%才能使第一个和最后一个项目工作
但这越来越复杂了。也许您应该有一个具有一对多关系的子表来存储数字。我希望您更改数据库设计,因为它不是标准化的。如下
ColA ColB
1 Jim
2 Rob
3 Tom
表2
ColA ColB
1 16
2 14
2 12
3 1
3 4
3 7
您的select语句类似于:
Select a.* from table1 a, table2 b where a.ColA == b.ColA and b.Colb = 4
祝您好运尝试使用
“如%4、%”“
应为如%4、%或如%4
,以使其适用于最后一项,因此没有编号列表方法?要用什么样的?如果4是单独存在还是先存在,这些会起作用吗?你是对的,不会。请参阅下面我编辑的答案。这很有效,但我希望答案不是基于字符串的。除非您更改数据库的设计,否则我认为没有任何非基于字符串的答案。数据库的设计是基于字符串的!你不能两全其美:)