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はアプリケーションでは使用されません。

4

1 に答える 1

2

両方のテーブル、つまりIDに存在する列が存在する必要があります。次に次のように記述します。

SELECT * FROM core as c, parking as p where c.ID=p.ID " + " ORDER BY RANDOM() LIMIT 
于 2012-12-21T09:27:04.547 に答える