コンテンツ プロバイダーから受信したデータを「ID」で並べ替えようとすると、次のエラーが発生します。
android.database.sqlite.SQLiteException: あいまいな列名: _id (コード 1): 、コンパイル中: SELECT anydo_tasks.due_date、anydo_tasks.title、anydo_categories.name AS category_name、anydo_tasks._id、anydo_tasks.status、anydo_tasks.priority FROM anydo_tasks INNER JOIN anydo_categories ON anydo_tasks.category = anydo_categories._id WHERE (status <> 0 AND parent_task_id IS NULL ) AND (status=?) ORDER BY _id ASC
私が実行しているコードは次のとおりです。
String orderBy = TasksContract.TasksColumns.ID + " ASC";
mCursor = mContext.getContentResolver().query(TasksContract.TASKS_URI, null,TasksContract.TasksColumns.STATUS + "=?", new String[]{String.valueOf(TasksContract.STATUS_UNCHECKED) }, orderBy, null);
これはおそらく 2 つのテーブルが ID を使用していることが原因であると述べている他の質問をここで見ましたが、私のクエリでは、正しいテーブルを指定していると確信しています。何が起きてる?