0

メモ帳を作成していますが、id を動的に渡し、Order by を使用して join を実装しようとすると、問題に直面しています。「=」の近くでSQLiteexceptionを与えています。

このクエリを書いている理由がわかりません:

String selectQuery = "SELECT " + KEY_TASKNOTE + " FROM " + TABLE_TODOTASK
            + " INNER JOIN" + TABLE_TODOTASK_DETAILS + "ON " + KEY_TASKID + "=" + KEY_TASK_DETAILS_TASKID + " WHERE " 
            + KEY_TASK_TASKLISTID + "=" + tasklist_Id + " ORDER BY " + KEY_TASK_DETAILS_DUEDATE;

定数:

// TASK table name
private static final String TABLE_TODOTASK = "todotask";
// TASKLIST Table Columns names
private static final String KEY_TASKID = "Id";
private static final String KEY_TASKNOTE = "tasknote";
private static final String KEY_TASKDUEDATE = "duedate";
private static final String KEY_TASKCOMPLETED = "taskcompleted";
private static final String KEY_TASK_TASKLISTID = "TaskList_id";

// TASKDETAILS table name
private static final String TABLE_TODOTASK_DETAILS = "todotaskdetails";
// TASKDETAILS Table Columns names
private static final String KEY_TASK_DETAILS_ID = "ID";
private static final String KEY_TASK_DETAILS_TASKID = "Task_id";
private static final String KEY_TASK_DETAILS_DUEDATE = "taskduedate";
private static final String KEY_TASK_DETAILS_EVENT = "taskevent";
private static final String KEY_TASKDETAILS_REMINDER = "taskreminder";
private static final String KEY_TASKDETAILS_REPEAT = "taskrepeat";
private static final String KEY_TASKDETAILS_PRIORITY = "taskpriority";

助けてください、ありがとう

4

1 に答える 1

0

内部結合には を使用する必要がありますがtablename1.fieldName = tablename2.fieldName、 のみを使用しfield name = field nameました。次のようにテーブル プレフィックスを追加します。

String selectQuery = "SELECT " + KEY_TASKNOTE + " FROM " + TABLE_TODOTASK
            + " INNER JOIN " + TABLE_TODOTASK_DETAILS + " ON " + TABLE_TODOTASK+"."+KEY_TASKID + "=" + TABLE_TODOTASK_DETAILS +"."+KEY_TASK_DETAILS_TASKID + " WHERE " 
            + KEY_TASK_TASKLISTID + "=" + tasklist_Id + " ORDER BY " + KEY_TASK_DETAILS_DUEDATE;

内部結合の簡単な例

SELECT column_name(s)
FROM table_name1
INNER JOIN table_name2 
ON table_name1.column_name=table_name2.column_name
于 2013-08-21T12:16:39.597 に答える