SQLite查询2个表进入android游标

时间:2014-08-11 12:31:15

标签: android sqlite cursor

我有2个表,我的SQLite使用Android。

表1 = T1

_id = INTEGER PRIMARY KEY AUTOINCREMENT
name = TEXT NOT NULL
time = TEXT NOT NULL

表2 = T2

_id = INTEGER PRIMARY KEY AUTOINCREMENT
ref = TEXT NOT NULL
info = TEXT NOT NULL

IN QUERY这是T1的列表,工作正常

String orderBy =  DBhelper.time + " ASC";
String[] columns = new String[]{ DBhelper._id, DBhelper.name, DBhelper.time};
Cursor c = db.query(true, DBhelper.T1, columns, null, null, null, null, orderBy, null, null);

现在我想在查询中添加对表2的查找,比如老式的:

SELECT T1._id, T1.name, T1.time, T2.info FROM T1, T2 WHERE T2.ref = T1._id;

请注意:T1._id是整数,T2.ref是字符串。

任何人都可以帮我这样做吗?

1 个答案:

答案 0 :(得分:0)

当您开始使用原始SQL查询时,使用它的最简单方法是使用rawQuery

String sql = "SELECT T1._id, T1.name, T1.time, T2.info FROM T1 JOIN T2 ON T2.ref = T1._id";
Cursor c = db.rawQuery(sql, null);

不那么简单的方法是使用SQLiteQueryBuilder,但这对于需要安全处理来自潜在恶意第三方应用程序的SQL代码段的内容提供商非常有用。