我的Android应用程序中有一个SQLite数据库包含4个表。每个表都有一个用于保存日期的列。 其他栏目是“钱”,“描述”,“member_id”
现在我想按日期对这4个表中的所有数据进行排序,并在回收站视图中显示它们,但我不知道该怎么办?
可能使用某种光标或.....
你有任何想法解决这个问题吗? 抱歉没有代码写在这里 谢谢。答案 0 :(得分:0)
也许你可以在这里查看表格之间的联盟。它是关于MySQL的,但它对SQLite的工作方式完全相同。
How to merge 2 tables into one result in MySQL
它将为您提供如何从多个表格中选择列的示例,您可以使用此方法为recyclerview适配器生成游标。
答案 1 :(得分:0)
可能使用某种光标或.....
有MergeCursor
听起来很理想。但是,问题在于排序。
以下SQL,假设表名为 table1 , table2 , table3 和 table4 ,将合并4个表,按日期排序到游标中。
SELECT * FROM table1 UNION
SELECT * FROM table2 UNION
SELECT * FROM table3 UNION
SELECT * FROM table4
ORDER BY savedate ASC
如果列名不同按相同顺序,那么上面只需要ORDER BY ???? ASC被改变以便????根据第一个表格反映了相应的列。
所以如果你的表是
table1列:date1 money1 description member_id1 table2列:date2 money2 description member_id2 table3列:date3 money3 description id_member3 table4 columns:date4 money4 description4 member4_id
然后: -
SELECT * FROM table1 UNION
SELECT * FROM table2 UNION
SELECT * FROM table3 UNION
SELECT * FROM table4
ORDER BY date1 ASC
即。 date1是日期字段的结果列名。
你也可以使用: -
SELECT *, date1 AS savedate FROM table1 UNION
SELECT *, date2 AS savedate FROM table2 UNION
SELECT *, date3 AS savedate FROM table3 UNION
SELECT *, date4 AS savedate FROM table4
ORDER BY savedate ASC
在这种情况下,savedate是光标中可用的附加列。