2012-12-21 91 views
2

我正在使用具有多個表格的SQL數據庫創建一個android應用程序。我需要從一些或全部表中隨機選擇行(大約有8個)。隨機查詢多個表格

我試過了下面的查詢,但它給了我一個Java中的「IndexOutOfBoundsException」,查詢只從「核心」表中選擇數據並忽略「停放」表。我哪裏錯了?我已閱讀關於JOIN功能,它適用於此?

 c = myDataBase.rawQuery(
    "SELECT * FROM core, parking" + " ORDER BY RANDOM() LIMIT " + rounds, null); 

所有表使用相同的列的結構,但是列ID爲每一個重疊(例如,對於8個表中,有8個「1」的列ID)。該列ID沒有在應用程序中使用。

回答

2

必須有它存在於兩個表,即ID列.. 然後寫成

SELECT * FROM core as c, parking as p where c.ID=p.ID " + " ORDER BY RANDOM() LIMIT 
+0

感謝您的回答,關於c.ID = p.ID,如果一個表有什麼更行比其他表? – ForeverLearning

+0

沒有問題,它會工作,但應該有一個共同的列b/w他們使關係即c.id = p.id ..只是 –

+0

它不工作,我現在得到一個IndexOutOfBoundsException:「無效索引0 ,大小是0「。 我也試過了SQLite Manager中的代碼。該代碼僅適用於兩個表的ID(或另一個相等文本)相等的列。 – ForeverLearning