我有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是字符串。
任何人都可以帮我这样做吗?
答案 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代码段的内容提供商非常有用。