我编写iOS版本,我使用SQLite进行数据存储。
现在我的数据库中有两个表。这是 table_1 和 table_2 (更容易理解)
关于struct:
table_1包含 id 字段(int类型)和 some_value 字段(文本类型)
table_2包含 id 字段(int类型)和 table_1_id 字段(int类型)
我的问题是:如何通过数组table_1_id字段table_2从table_1中选择所有行,这必须是SELECT with ORDER BY。我的意思是按数组排序。
例如:
如果table_2 - > table_1_id包含值5,1,10,3,15,2
输出结果必须按此顺序排列。
现在我的查询很简单:
SELECT * FROM table_1 WHERE id IN(5,1,10,3,15,2)
但是此查询的选择不返回顺序,它将数据顺序返回1,2,3,5,10,15。
我认为我在表格之间建立关系并使表格中的SELECT使用ORDER BY,但我不知道如何正确执行此操作。
提前致谢!
(对我来说非常重要的是返回此订单 - 5,1,10,3,15,2)
答案 0 :(得分:1)
我在stackoverflow中找到了一些结果
这对我有用:
SELECT * FROM“comments”WHERE(“comments”。“id”IN(1,3,2,4))ORDER BY id = 1 DESC,ID = 3 DESC,id = 2 DESC,ID = 4 DESC
这是硬代码,但我在循环中以编程方式创建此查询字符串,这非常有用。