2014-12-30 20 views
0

我正在嘗試一些新的東西與Android上的sqlite。什麼是從androids中的多個表中選擇數據的最好方法sqlite

根據一本書我讀從表中選擇將像下面

String criteria = "name = 'Smith' AND prename = 'John'"; 
String[] columns = new String[]{ "id", "name", "prename"}; 
Cursor c = db.query("person", columns, criteria, null, null, null, null); 

我的問題是,現在做如何的最好實踐的方式來選擇從多個表中的數據像其他數據庫中,我只想使用連接查詢。有沒有辦法做到這一點與SQLite或我需要幫助我嗎?

THX對您有所幫助

+0

你顯然沒有閱讀SQLite的任何參考文檔,或者你會知道你可以使用JOIN子句。閱讀上面評論中的問題答案。另外看這裏https://www.sqlite.org/lang_keywords.html – apesa

+0

你可以使用'db.rawQuery()'函數編寫像其他數據庫一樣的額外SQL。請參閱'SQLiteDatabase'文檔:http://developer.android.com/reference/android/database/sqlite/SQLiteDatabase.html –

回答

1

你需要rawQuery方法。

例子:

private final String MY_QUERY = "SELECT * FROM table_a a INNER JOIN table_b b ON a.id=b.other_id WHERE b.property_id=?"; 

db.rawQuery(MY_QUERY, new String[]{String.valueOf(propertyId)}); 

使用?綁定而不是將值放入原始sql查詢中。

相關問題