Java 从SQLite(android)中的2个表检索数据
我正在创建一个健身应用程序,有2个sqlite数据库表(TABLE_CARDIO&TABLE_WEIGHTS),其中可以保存训练信息。我需要创建一个查询来从这两个表中获取所有数据。目前,我有一个查询,它可以工作并从表_CARDIO中获取所有数据,如下所示:Java 从SQLite(android)中的2个表检索数据,java,android,sqlite,Java,Android,Sqlite,我正在创建一个健身应用程序,有2个sqlite数据库表(TABLE_CARDIO&TABLE_WEIGHTS),其中可以保存训练信息。我需要创建一个查询来从这两个表中获取所有数据。目前,我有一个查询,它可以工作并从表_CARDIO中获取所有数据,如下所示: public Cursor getWorkoutData() { SQLiteDatabase db = this.getWritableDatabase(); Cursor result = db.rawQuery("SEL
public Cursor getWorkoutData() {
SQLiteDatabase db = this.getWritableDatabase();
Cursor result = db.rawQuery("SELECT * from "+TABLE_CARDIO,null);
return result;
}
但是,我需要修改这个查询,以便它也可以从表中获取数据。我知道关于从两个表中获取数据还有其他问题,但是,我不知道如何将解决方案应用到我的特定场景中。我以为在“+TABLE_CARDIO,null”之后加上“+TABLE_WEIGHTS,null”会起作用,但事实并非如此。感谢您的帮助 使用SQL,您可以将多个select语句嵌入到同一个查询中。比如说,
SELECT (
SELECT *
FROM TABLE_CARDIO
),
(
SELECT *
FROM TABLE_WEIGHTS
)
)
你也可以使用联合体
SELECT * FROM TABLE_CARDIO UNION SELECT * FROM TABLE_WEIGHTS
当然,这里的所有数据都是在一个return语句中获得的
因此,java字符串应该在参数中包含这两条语句
"SELECT * FROM " + TABLE_CARDIO + " UNION SELECT * FROM " + TABLE_WEIGHTS
不如
select * from table_1, null, select * from table_2, null.
这些表的结构是什么?您想要检索什么?请具体一点。你好@Abeltensor,谢谢你的回复!我尝试了
“SELECT*FROM”+TABLE\u CARDIO+“UNION SELECT*FROM”+TABLE\u WEIGHTS
,但它抛出了错误:无法解析方法“rawQuery(java.lang.String)”,您可能必须将查询转换为字符串;例如cursor=db.rawQuery(“SELECT*FROM”+TABLE\u CARDIO+“UNION SELECT*FROM”+TABLE\u WEIGHTS,新字符串[]{searchText.getText().toString()+“%”})代码>